home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-06-07 | 217.4 KB | 5,541 lines | [TEXT/R*ch] |
- Received-Date: Thu, 29 Sep 1994 18:36:34 +0100
- From: pottier@clipper.ens.fr (Francois Pottier)
- Subject: csmp-digest-v3-061
- To: csmp-digest@ens.fr
- Date: Thu, 29 Sep 1994 18:36:24 +0100 (MET)
- X-Mailer: ELM [version 2.4 PL23]
- Mime-Version: 1.0
- Content-Type: text/plain; charset=ISO-8859-1
- Content-Transfer-Encoding: 8bit
- Errors-To: listman@ens.fr
- Reply-To: pottier@clipper.ens.fr
- X-Sequence: 66
-
- C.S.M.P. Digest Thu, 29 Sep 94 Volume 3 : Issue 61
-
- Today's Topics:
-
- Alpha Wordcompletion Script
- Appending data to WindowRecord
- Dialogs and (de)activate events
- Lets talk OpenDoc
- Linking with QuickTime.xcoff for the power pc
- Multiple monitors
- The 'aete' resource and the Script Editor
- can extensions send appleevents?
-
-
-
- The Comp.Sys.Mac.Programmer Digest is moderated by Francois Pottier
- (pottier@clipper.ens.fr).
-
- The digest is a collection of article threads from the internet newsgroup
- comp.sys.mac.programmer. It is designed for people who read c.s.m.p. semi-
- regularly and want an archive of the discussions. If you don't know what a
- newsgroup is, you probably don't have access to it. Ask your systems
- administrator(s) for details. If you don't have access to news, you may
- still be able to post messages to the group by using a mail server like
- anon.penet.fi (mail help@anon.penet.fi for more information).
-
- Each issue of the digest contains one or more sets of articles (called
- threads), with each set corresponding to a 'discussion' of a particular
- subject. The articles are not edited; all articles included in this digest
- are in their original posted form (as received by our news server at
- nef.ens.fr). Article threads are not added to the digest until the last
- article added to the thread is at least two weeks old (this is to ensure that
- the thread is dead before adding it to the digest). Article threads that
- consist of only one message are generally not included in the digest.
-
- The digest is officially distributed by two means, by email and ftp.
-
- If you want to receive the digest by mail, send email to listserv@ens.fr
- with no subject and one of the following commands as body:
- help Sends you a summary of commands
- subscribe csmp-digest Your Name Adds you to the mailing list
- signoff csmp-digest Removes you from the list
- Once you have subscribed, you will automatically receive each new
- issue as it is created.
-
- The official ftp info is //ftp.dartmouth.edu/pub/csmp-digest.
- Questions related to the ftp site should be directed to
- scott.silver@dartmouth.edu. Currently no previous volumes of the CSMP
- digest are available there.
-
- Also, the digests are available to WAIS users. To search back issues
- with WAIS, use comp.sys.mac.programmer.src. With Mosaic, use
- http://www.wais.com/wais-dbs/comp.sys.mac.programmer.html.
-
-
- -------------------------------------------------------
-
- >From tnleeuw@cs.vu.nl (Leeuw van der TN)
- Subject: Alpha Wordcompletion Script
- Date: Thu, 15 Sep 1994 12:09:12 GMT
- Organization: Fac. Wiskunde & Informatica, VU, Amsterdam
-
- #This is a Tcl 'script'/procedure for use with Pete Keleher's Alpha.
- #It completes any word you have typed previously if you bind it to a key.
- #(I have it bound to opt-/ to simulate emacs' alt-/)
- #See the comments below for some more info. I've tested it as good as I
- #can, but cannot guarantee it is bug free. It had some bugs that appeared
- #to crash Alpha because it came into an endless loop; press cmd-. if
- #that happens. I don't think it will.
-
- #If you use Alpha, then Have luck with it!
- #--Tim van der Leeuw
- # tnleeuw@cs.vu.nl
- #===========================================================================
- # 'Word Completion', in the spirit of Paul van Mulbregt's BBXT.
- #
- # Composed by Mark Nagata (nagata@kurims.kyoto-u.ac.jp)
- # for Alpha 5.76, 4/22/94.
- #
- # Modified by Tim van der Leeuw (tnleeuw@cs.vu.nl), 9/14/94,
- # In the spirit of emacs.
- # I have modified this routine extensively to add the ability to complete
- # a word in multiple ways if called repeatedly.
- # For this purpose, I have introduced all the global variables (starting with
- # __wc__) and added the first if-statement -- everything between
- # 'set pos [getPos]' and 'backwardWord'. In the original routine, I've changed
- # some existing variables to globals, prefixing their name with '__wc__'.
- #
- # This code is probably not the most efficient tcl-code, nor the most elegant
- # tcl-code for this problem, but hey, it is the first function I've ever
- # written in tcl!
- # If anyone has some suggestions for improvement, or
- # knows of a better algorithm, I would like to know it.
- #================================================================================
- set __wc__insPos -1
- proc wordCompletion {} {
- global __wc__len __wc__prevPos __wc__insPos __wc__prevFound __wc__pat __wc__nextStart __wc__fwd
-
- set pos [getPos]
- if $pos==$__wc__insPos {
- # Cursor changed place?
- set skipStr $__wc__prevFound
- while 1 {
- if $__wc__fwd {
- set fndMsg "found below."
- } else {
- set fndMsg "found above."
- }
- if {![catch {search -f $__wc__fwd -r 1 -i 0 -m 1 -- $__wc__pat $__wc__nextStart} data]} {
- set d00 [lindex $data 0]
- set beg [expr $d00+$__wc__len]
- set end [lindex $data 1]
- set __wc__prevFound [getText $d00 $end]
- if [string compare $skipStr $__wc__prevFound] {
- # Have we got the same word twice?
- set txt [getText $beg $end]
- deleteText $__wc__prevPos $__wc__insPos
- goto $__wc__prevPos
- insertText $txt
- message $fndMsg
- # Set a number of globals for possible next go-around
- set __wc__insPos [getPos]
- if $__wc__fwd {
- # Search Forwards
- set __wc__nextStart $end
- # End of found word
- } else {
- # Search Backwards
- set __wc__nextStart [expr $d00 - $__wc__len]
- # Before start of found word
- if $__wc__nextStart<=0 {
- set __wc__fwd 1
- set __wc__nextStart $__wc__insPos
- }
- }
- return
- } else {
- # Move start of search after finding string again
- if $__wc__fwd {
- # Searching Forwards
- set __wc__nextStart $end
- # End of found word
- } else {
- # Still Searching Backwards
- set __wc__nextStart [expr $d00 - $__wc__len]
- # Before start of found word
- if $__wc__nextStart<=0 {
- set __wc__fwd 1
- set __wc__nextStart $__wc__insPos
- }
- }
- }
- # End if string compare
- } else {
- # Search string not found
- if $__wc__fwd {
- # We were already looking forward, so the word is not in the file
- message "Not found."
- set __wc__insPos -1
- goto $pos
- backwardWordSelect
- return
- } else {
- # start looking forward
- set __wc__fwd 1
- set __wc__nextStart $__wc__insPos
- }
- }
-
- }
- }
- backwardWord
- # Start new search for WordCompletion
- set start [getPos]
- set one [getText $start $pos]
- set __wc__len [expr $pos-$start]
- set __wc__pat [append one {[a-zA-Z0-9_]+}]
- set start [expr $start-1]
- if {![catch {search -f 0 -r 1 -i 0 -m 1 -- $__wc__pat $start} data]} {
- set d00 [lindex $data 0]
- set beg [expr $d00+$__wc__len]
- set end [lindex $data 1]
- set __wc__prevFound [getText $d00 $end ]
- set txt [getText $beg $end]
- goto $pos
- insertText $txt
- message "found above."
- # Set a number of globals for possible next go-around
- set __wc__insPos [getPos]
- set __wc__prevPos $pos
- set __wc__nextStart [expr $d00-$__wc__len]
- set __wc__fwd 0
- return
- }
- if {![catch {search -f 1 -r 1 -i 0 -m 1 -- $__wc__pat $pos} data]} {
- set __wc__prevFound [getText [lindex $data 0] [lindex $data 1] ]
- set beg [expr [lindex $data 0]+$__wc__len]
- set end [lindex $data 1]
- set txt [getText $beg $end]
- goto $pos
- insertText $txt
- message "found below."
- # Set a number of globals for possible next go-around
- set __wc__insPos [getPos]
- set __wc__prevPos $pos
- set __wc__nextStart $end
- set __wc__fwd 1
- return
- }
- goto $pos
- backwardWordSelect
- }
-
-
-
- # This is all due to the idea of Paul van Mulbregt. In his documentation
- # of his BBEdit BBExtension (info-mac/text/bbedit-fl-package-11.hqx),
- # he explains:
- #
- # -- From the documentation written by --
- # -- Paul van Mulbregt (paulvm@dragonsys.com) --
- #
- # Word Completion
- #
- # This extension saves typing, as well as making sure variable names are
- # correct. While typing the following C code, there is no need to type all
- # of the second occurrence of verySpecialInt. One could copy and paste, but
- # another way is to type a few letters, and select the Word Completion
- # Extension.
- #
- # int verySpecialInt = 10;
- # while(verySp
- #
- #
- # becomes
- #
- # int verySpecialInt = 10;
- # while(verySpecialInt
- #
- #
- #
- # Word Completion will look back in the code to find the first match and then
- # extend the current occurrence to match the previous occurrence. If a match
- # is not found looking backwards, then it looks forwards. If not found
- # forwards, the word is selected. This is a quick way to save on typing,
- # good for helping prevent RSI, but perhaps more importantly, to make sure
- # that variable names are spelt correctly.
- #
- # There is no user interface for Word Completion.
- #
- # The usefulness of this extension is greatly enhanced if the extension is
- # bound to a key!
- #
- # -- end of Paul van Mulbregt's explanation. --
-
-
-
-
- ---------------------------
-
- >From rollin@newton.apple.com (Keith Rollin)
- Subject: Appending data to WindowRecord
- Date: Tue, 30 Aug 1994 09:42:08 -0800
- Organization: Apple ][ -> Mac -> Taligent -> Newton -> Windows?
-
- In article <33do4d$abh@newsy.ifm.liu.se>, jonasw@lysator.liu.se (Jonas
- Wallden) wrote:
- >
- >A great way to extend WindowRecords is to declare your own data type with
- >a WindowRecord as the first item.
- >
- >E.g.,
- >
- >struct tMyWinData {
- > // This must come first!
- > WindowRecord winRec;
- >
- > // Additional window-specific data here...
- > Handle aHandle;
- > Ptr aPtr;
- >};
- >typedef struct tMyWinData tMyWinData;
- >typedef tMyWinData *tMyWinPtr;
- >
- >The trick now is that you can typecast any window pointer to tMyWinPtr (and
- >back) and access your window-specific data fields. You might want to place
- >your application's unique creator code in the WindowRecord refCon field and
- >check it first to be sure you have a window that belongs to your program.
- >
- >I use this all the time and it is useful in many other places where the
- >system gives you a pointer to an object (VBL tasks, ParamBlocks, ...) and
- >you need to store extra data. No need to use any globals for this stuff!
-
- You know, this is an often-used trick, but I've got a sneaking suspicion
- that it might not be a good idea in the long run. The reason for this
- feeling is because of something I read in "develop" a while back. In the
- article that Dean Yu (I think) wrote on floating windows, there was
- mention of converting the Windows.h interfaces over to using WindowRefs
- instead of WindowPtrs. (Indeed, users of ETO #15 will see that this change
- has already occured.) This change was being done to prepare developers for
- the day when windows would change from being accessed directly via
- pointers, to the day when they would be accessed via abstract references
- that could be mapped by the Window Manager internally to the data
- structures representing a window. It seems to me that in such a world, you
- could not be able to either a) append your custom data to the standard
- window definition, or b) retrieve it given a simple WindowRef.
-
- I recommend using the refCon field.
-
- - --------------------------------------------------------------------------
- Keith Rollin --- Phantom Programmer --- Apple Computer, Inc. --- Team Newton
-
- +++++++++++++++++++++++++++
-
- >From jonasw@lysator.liu.se (Jonas Wallden)
- Date: 31 Aug 1994 15:19:10 GMT
- Organization: (none)
-
- rollin@newton.apple.com (Keith Rollin) writes:
- > I (Jonas) wrote:
- >>
- >>A great way to extend WindowRecords is to declare your own data type with
- >>a WindowRecord as the first item.
- >>
- >> [code example removed]
- >>
- >>The trick now is that you can typecast any window pointer to tMyWinPtr (and
- >>back) and access your window-specific data fields. You might want to place
- >>your application's unique creator code in the WindowRecord refCon field and
- >>check it first to be sure you have a window that belongs to your program.
- >>
- >>I use this all the time and it is useful in many other places where the
- >>system gives you a pointer to an object (VBL tasks, ParamBlocks, ...) and
- >>you need to store extra data. No need to use any globals for this stuff!
- >
- >You know, this is an often-used trick, but I've got a sneaking suspicion
- >that it might not be a good idea in the long run. The reason for this
- >feeling is because of something I read in "develop" a while back. In the
- >article that Dean Yu (I think) wrote on floating windows, there was
- >mention of converting the Windows.h interfaces over to using WindowRefs
- >instead of WindowPtrs.
-
- Yes, now that you mention it I remember that article. Your point is very
- valid, and should be taken into consideration for code that one expects
- to use for a long time. However, like you said yourself, this trick is
- widely used and a lot of applications would break if things changed tomorrow.
-
- > Indeed, users of ETO #15 will see that this change has already occured.
-
- I haven't seen it in the Universal Interfaces included on CW4. Are the ones
- on ETO #15 different?
-
- I agree that hiding the internal structure of things is a good thing as it
- will make it easier for Apple to change the system without breaking
- applications.
-
- >I recommend using the refCon field.
-
- Which leads us back to the original problem where the poster was afraid to
- treat this field as a pointer in case some other window appeared in his
- application's window list (CommsToolbox (did I spell it right? :-) windows
- were mentioned as an example).
-
- One can of course first check the windowKind field, which doesn't have any
- accessor function...
-
- >Keith Rollin --- Phantom Programmer --- Apple Computer, Inc. --- Team Newton
-
- --
- `.`. Jonas Wallden `.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.
- `.`.`. Internet: jonasw@lysator.liu.se `.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.
- `.`.`.`. AppleLink: sw1369 `.`.`.`.`.`.`.`.`.`.`.`.`.`.`.
-
- +++++++++++++++++++++++++++
-
- >From bb@lightside.com (Bob Bradley)
- Date: Tue, 30 Aug 1994 01:50:06 -0800
- Organization: SS Software Inc.
-
- In article <34271e$i33@newsy.ifm.liu.se>, jonasw@lysator.liu.se (Jonas
- Wallden) wrote:
-
- > One can of course first check the windowKind field, which doesn't have any
- > accessor function...
-
- The only problem I've found with this is when using Dialogs which don't
- work properly with IsDialogEvent and DialogSelect if you change the
- windowKind field to something other than dialogKind. The only solution
- I've found in that case is to append data to the WindowRecord.
-
- +++++++++++++++++++++++++++
-
- >From mhl@icf.hrb.com (MARK H. LINTON)
- Date: 31 Aug 94 15:39:42 EST
- Organization: HRB Systems, Inc.
-
- In article <34271e$i33@newsy.ifm.liu.se>, jonasw@lysator.liu.se (Jonas Wallden) writes:
- > rollin@newton.apple.com (Keith Rollin) writes:
- >> I (Jonas) wrote:
- >>>
- >>>A great way to extend WindowRecords is to declare your own data type with
- >>>a WindowRecord as the first item.
- >>>
- >>
- >>You know, this is an often-used trick, but I've got a sneaking suspicion
- >>that it might not be a good idea in the long run. The reason for this
- >>feeling is because of something I read in "develop" a while back.
- >
- > Yes, now that you mention it I remember that article. Your point is very
- > valid, and should be taken into consideration for code that one expects
- > to use for a long time.
- [snip]
- >
- >
- >>I recommend using the refCon field.
- >
- > Which leads us back to the original problem where the poster was afraid to
- > treat this field as a pointer in case some other window appeared in his
- > application's window list (CommsToolbox (did I spell it right? :-) windows
- > were mentioned as an example).
- >
- > One can of course first check the windowKind field, which doesn't have any
- > accessor function...
- >
- >>Keith Rollin --- Phantom Programmer --- Apple Computer, Inc. --- Team Newton
- >
-
- When my applications create their own windows, they allocate a relocatable
- block (via NewHandle) to a structure describing the window. The structure of
- this information varies based on the particular application, but always
- includes, at minimum, as its first field an identifier.
-
- Please consider the following pseudo-code, as I am not at my Macintosh at the
- moment.
-
- typedef struct MinWinInfo {
- OSType identifier;
- } MinWinInfoRecord, *MinWinInfoPtr, **MinWinInfoHandle;
-
- Boolean OwnWindow(WindowPtr aWindow) {
- Boolean ownWindow = false;
- MinWinInfoHandle theInfoHandle;
-
- if (aWindow != nil) { /* can only own existent windows */
- theInfoHandle = (MinWinInfoHandle)GetWRefCon(aWindow);
- if (theInfoHandle != nil) { /* and we always add a refCon */
- if ((**theInfoHandle).identifier == kThisAppSignature) {
- ownWindow = true; /* and the first four bytes match our sig */
- }
- }
- }
- return ownWindow;
- }
-
- So whenever I need to see whether a window is mine I just call OwnWindow.
-
- Does this help? Or did I miss the question entirely?
-
- Mark
- - --------
- I don't know whether my employer has opinions.
-
- +++++++++++++++++++++++++++
-
- >From jonasw@lysator.liu.se (Jonas Wallden)
- Date: 31 Aug 1994 21:35:02 GMT
- Organization: (none)
-
- mhl@icf.hrb.com (MARK H. LINTON) writes:
- >
- >When my applications create their own windows, they allocate a relocatable
- >block (via NewHandle) to a structure describing the window. The structure of
- >this information varies based on the particular application, but always
- >includes, at minimum, as its first field an identifier.
- >
- >Please consider the following pseudo-code, as I am not at my Macintosh at the
- >moment.
- >
- >typedef struct MinWinInfo {
- > OSType identifier;
- >} MinWinInfoRecord, *MinWinInfoPtr, **MinWinInfoHandle;
- >
- >Boolean OwnWindow(WindowPtr aWindow) {
- > Boolean ownWindow = false;
- > MinWinInfoHandle theInfoHandle;
- >
- > if (aWindow != nil) { /* can only own existent windows */
- > theInfoHandle = (MinWinInfoHandle)GetWRefCon(aWindow);
- > if (theInfoHandle != nil) { /* and we always add a refCon */
- > if ((**theInfoHandle).identifier == kThisAppSignature) {
-
- The problem is that we can't be 100% sure the RefCon field holds a pointer
- or handle for *all* windows as some windows not created by our application
- can appear in our WindowList. These external windows may use the RefCon
- field in any way (e.g. hold flags or whatever), making it impossible to
- dereference the value to check for the magic cookie.
-
- > ownWindow = true; /* and the first four bytes match our sig */
- > }
- > }
- > }
- > return ownWindow;
- >}
- >
- >So whenever I need to see whether a window is mine I just call OwnWindow.
- >
- >Does this help? Or did I miss the question entirely?
-
- See above.
-
- Hopefully the Apple guys come up with a nice improved Window Manager which
- supposedly is in the works. From what I've heard it will support floating
- windows directly (yes!), and that alone will make a lot of ugly code unneeded.
-
- Anyone else mad at not getting modeless dialogs to work correctly together
- with floating windows? Yeah, I thought so...
- --
- `.`. Jonas Wallden `.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.
- `.`.`. Internet: jonasw@lysator.liu.se `.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.
- `.`.`.`. AppleLink: sw1369 `.`.`.`.`.`.`.`.`.`.`.`.`.`.`.
-
- +++++++++++++++++++++++++++
-
- >From h+@nada.kth.se (Jon W{tte)
- Date: Thu, 01 Sep 1994 14:55:07 +0200
- Organization: Royal Institute of Something or other
-
- In article <342t26$1ia@newsy.ifm.liu.se>,
- jonasw@lysator.liu.se (Jonas Wallden) wrote:
-
- >The problem is that we can't be 100% sure the RefCon field holds a pointer
- >or handle for *all* windows as some windows not created by our application
- >can appear in our WindowList. These external windows may use the RefCon
-
- All windows in our window list that are not our own have
- negative windowKinds, or at least windowKinds < 8.
-
- Cheers,
-
- / h+
-
-
- --
- Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
-
- Reality exists only in your imagination.
-
-
- +++++++++++++++++++++++++++
-
- >From mhl@icf.hrb.com (MARK H. LINTON)
- Date: 1 Sep 94 08:50:27 EST
- Organization: HRB Systems, Inc.
-
- In article <342t26$1ia@newsy.ifm.liu.se>, jonasw@lysator.liu.se (Jonas Wallden) writes:
- > mhl@icf.hrb.com (MARK H. LINTON) writes:
- >>
- >> if (aWindow != nil) { /* can only own existent windows */
- >> theInfoHandle = (MinWinInfoHandle)GetWRefCon(aWindow);
- >> if (theInfoHandle != nil) { /* and we always add a refCon */
- >> if ((**theInfoHandle).identifier == kThisAppSignature) {
- >
- > The problem is that we can't be 100% sure the RefCon field holds a pointer
- > or handle for *all* windows as some windows not created by our application
- > can appear in our WindowList. These external windows may use the RefCon
- > field in any way (e.g. hold flags or whatever), making it impossible to
- > dereference the value to check for the magic cookie.
- >
-
- Jonas,
- Correct me if I'm wrong here. I did not say that the refCon WAS a handle.
- The cast on the GetWRefCon tells the compiler to ASSUME that the refCon is
- a handle. If it is flags or maybe a handle to another type of structure used by
- another type of window. HOWEVER, it is highly unlikely that the first four
- bytes of the memory arrived at by double de-referencing (**) the refCon will
- contain my applications signature, whether the assumption was true or not,
- UNLESS this is one of my windows.
-
- BTW my applications require System 7 and at least a 68030 to run, so I do not
- care if in my (**) I come across an odd address ;^)
-
- Mark
-
- +++++++++++++++++++++++++++
-
- >From dazuma@cco.caltech.edu (Daniel Azuma)
- Date: Thu, 01 Sep 1994 08:06:29 -0700
- Organization: California Institute of Technology
-
- mhl@icf.hrb.com (MARK H. LINTON) wrote:
-
- > Correct me if I'm wrong here. I did not say that the refCon WAS a handle.
- > The cast on the GetWRefCon tells the compiler to ASSUME that the refCon is
- > a handle. If it is flags or maybe a handle to another type of structure used
- > by another type of window. HOWEVER, it is highly unlikely that the first four
- > bytes of the memory arrived at by double de-referencing (**) the refCon will
- > contain my applications signature, whether the assumption was true or not,
- > UNLESS this is one of my windows.
- >
- > BTW my applications require System 7 and at least a 68030 to run, so I do not
- > care if in my (**) I come across an odd address ;^)
-
- You still have to worry, even if you require an '020/'030. Trying to
- dereference addresses in a certain range-- I don't know the range, but the
- famous constant 0x50FFC001 is within it-- will cause a bus error.
-
- What I've ended up doing is keeping my own data structure listing all the
- windows I "know about", including modeless dialogs. My array keeps the
- WindowPtr, a constant describing the kind of window, and some other fields
- containing various other info. Then, when I need to know something about a
- particular window (say, from FrontWindow()), I look the WindowPtr up in
- the table and snatch whatever info I need. If the WindowPtr isn't there, I
- know it's a window someone else rudely :) stuck into my window list. Not
- the most efficient way of doing things, I'm sure, but I think it's
- relatively un-breakable.
-
- And, of course, later I can replace the WindowPtr field with a WindowRef
- and have it work the same way.
-
- Dan
-
- - ----------------------------------------------------------------
- Daniel Azuma | "Rejoice in the Lord always; again I
- Caltech | will say, Rejoice..."
- dazuma@cco.caltech.edu | --Philippians 4:4
- - ----------------------------------------------------------------
-
- +++++++++++++++++++++++++++
-
- >From jonasw@lysator.liu.se (Jonas Wallden)
- Date: 1 Sep 1994 15:54:15 GMT
- Organization: (none)
-
- mhl@icf.hrb.com (MARK H. LINTON) writes:
-
- >In article <342t26$1ia@newsy.ifm.liu.se>, jonasw@lysator.liu.se (Jonas Wallden) writes:
- >> mhl@icf.hrb.com (MARK H. LINTON) writes:
- >>>
- >>> if (aWindow != nil) { /* can only own existent windows */
- >>> theInfoHandle = (MinWinInfoHandle)GetWRefCon(aWindow);
- >>> if (theInfoHandle != nil) { /* and we always add a refCon */
- >>> if ((**theInfoHandle).identifier == kThisAppSignature) {
- >>
- >> The problem is that we can't be 100% sure the RefCon field holds a pointer
- >> or handle for *all* windows as some windows not created by our application
- >> can appear in our WindowList. These external windows may use the RefCon
- >> field in any way (e.g. hold flags or whatever), making it impossible to
- >> dereference the value to check for the magic cookie.
- >>
- >
- >Jonas,
- > Correct me if I'm wrong here. I did not say that the refCon WAS a handle.
- >The cast on the GetWRefCon tells the compiler to ASSUME that the refCon is
- >a handle. If it is flags or maybe a handle to another type of structure used
- >by another type of window. HOWEVER, it is highly unlikely that the first four
- >bytes of the memory arrived at by double de-referencing (**) the refCon will
- >contain my applications signature, whether the assumption was true or not,
- >UNLESS this is one of my windows.
- >
- >BTW my applications require System 7 and at least a 68030 to run, so I do not
- >care if in my (**) I come across an odd address ;^)
-
- But you can get address errors on these machines as well! How do you think
- EvenBetterBusError works?
-
- And like I, Jon and others have said earlier, one can check the windowKind
- field first to avoid these cases. But that is just as bad as appending data to
- the WindowRecord as long as there isn't any high-level (i.e. future-compatible)
- way to do this.
-
- --
- `.`. Jonas Wallden `.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.
- `.`.`. Internet: jonasw@lysator.liu.se `.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.
- `.`.`.`. AppleLink: sw1369 `.`.`.`.`.`.`.`.`.`.`.`.`.`.`.
-
- +++++++++++++++++++++++++++
-
- >From ivanski@world.std.com (Ivan M CaveroBelaunde)
- Date: Thu, 1 Sep 1994 16:15:59 GMT
- Organization: The World Public Access UNIX, Brookline, MA
-
- jonasw@lysator.liu.se (Jonas Wallden) writes:
- >>Boolean OwnWindow(WindowPtr aWindow) {
- >> Boolean ownWindow = false;
- >> MinWinInfoHandle theInfoHandle;
- >>
- >> if (aWindow != nil) { /* can only own existent windows */
- >> theInfoHandle = (MinWinInfoHandle)GetWRefCon(aWindow);
- >> if (theInfoHandle != nil) { /* and we always add a refCon */
- >> if ((**theInfoHandle).identifier == kThisAppSignature) {
- >The problem is that we can't be 100% sure the RefCon field holds a pointer
- >or handle for *all* windows as some windows not created by our application
- >can appear in our WindowList. These external windows may use the RefCon
- >field in any way (e.g. hold flags or whatever), making it impossible to
- >dereference the value to check for the magic cookie.
-
- So use a "ValidHandle" routine to determine that the refcon is a handle
- before messing with it:
- - Check that it's even.
- - Check that it's below BufPtr.
- - Do both checks again for the "assumed" master pointer.
- - Call HandleZone.
-
- in that order. Then you know you have a handle you can safely dereference.
-
- -Ivan
- - -
- Ivan Cavero Belaunde (ivanski@world.std.com)
- Avid VideoShop Project Lead
- Avid Technology, Inc.
-
- +++++++++++++++++++++++++++
-
- >From mhl@icf.hrb.com (MARK H. LINTON)
- Date: 1 Sep 94 13:27:35 EST
- Organization: HRB Systems, Inc.
-
- From: jonasw@lysator.liu.se (Jonas Wallden)
- >>In article <342t26$1ia@newsy.ifm.liu.se>, jonasw@lysator.liu.se (Jonas Wallden) writes:
- >>> mhl@icf.hrb.com (MARK H. LINTON) writes:
- >>>>
- >>>> if (aWindow != nil) { /* can only own existent windows */
- >>>> theInfoHandle = (MinWinInfoHandle)GetWRefCon(aWindow);
- >>>> if (theInfoHandle != nil) { /* and we always add a refCon */
- >>>> if ((**theInfoHandle).identifier == kThisAppSignature) {
- >>>
- >>> The problem is that we can't be 100% sure the RefCon field holds a pointer
- >>> or handle for *all* windows as some windows not created by our application
- >>> can appear in our WindowList. [snip]
- >>
- >>Jonas,
- >> Correct me if I'm wrong here. I did not say that the refCon WAS a handle.
- >>The cast on the GetWRefCon tells the compiler to ASSUME that the refCon is
- >>a handle. [snip]
- >>
- >>BTW my applications require System 7 and at least a 68030 to run, so I do not
- >>care if in my (**) I come across an odd address ;^)
- >
- >But you can get address errors on these machines as well! How do you think
- >EvenBetterBusError works?
- >
-
- Gosh, I guess I was wrong :) and, yes, I have EvenBetterBusError installed, but
- I seem to recall the release notes saying something about needing to allow
- certain Toolbox routines to do things that would normally trigger EBBE. Perhaps
- this is the sort of thing that required that. (?)
-
- >
- >And like I, Jon and others have said earlier, one can check the windowKind
- >field first to avoid these cases. But that is just as bad as appending data to
- >the WindowRecord as long as there isn't any high-level (i.e. future-compatible)
- >way to do this.
- >
-
- Yes, I agree. I really do not like the windowKind check.
-
- From: ivanski@world.std.com (Ivan M CaveroBelaunde)
- >
- >So use a "ValidHandle" routine to determine that the refcon is a handle
- >before messing with it:
- > - Check that it's even.
- > - Check that it's below BufPtr.
- > - Do both checks again for the "assumed" master pointer.
- > - Call HandleZone.
- >
- >in that order. Then you know you have a handle you can safely dereference.
- >
-
- Hey! Way Cool! Where I originally said "if (theInfoHandle != nil) {", I really
- should have said "if (ValidHandle((Handle)theInfoHandle)) {".
-
- Got any CODE? ;^)
-
- From: dazuma@cco.caltech.edu (Daniel Azuma)
- >
- >You still have to worry, even if you require an '020/'030. Trying to
- >dereference addresses in a certain range-- I don't know the range, but the
- >famous constant 0x50FFC001 is within it-- will cause a bus error.
- >
-
- Yes. I keep getting told this :^) and pardon my ignorance but what is that
- famous constant?
-
- >
- >What I've ended up doing is keeping my own data structure listing all the
- >windows I "know about", including modeless dialogs. My array keeps the
- >WindowPtr, a constant describing the kind of window, and some other fields
- >containing various other info. Then, when I need to know something about a
- >particular window (say, from FrontWindow()), I look the WindowPtr up in
- >the table and snatch whatever info I need. If the WindowPtr isn't there, I
- >know it's a window someone else rudely :) stuck into my window list. Not
- >the most efficient way of doing things, I'm sure, but I think it's
- >relatively un-breakable.
- >
- >And, of course, later I can replace the WindowPtr field with a WindowRef
- >and have it work the same way.
- >
-
- Until today I would have gaged at the extra baggage here. But I have been
- following this other thread (Subject: Selecting Window via menus) on which was
- recently posted a reasonable solution (From: Matt Slot
- <fprefect@engin.umich.edu>) that required a similar structure. Now that I see
- the two side by side, I might try to roll them together and come up with a
- reasonable "Window Manager". Hey, now wasn't that Jonas' original point? :)
-
- Mark
-
-
- +++++++++++++++++++++++++++
-
- >From dazuma@cco.caltech.edu (Daniel Azuma)
- Date: Thu, 01 Sep 1994 11:37:34 -0700
- Organization: California Institute of Technology
-
- mhl@icf.hrb.com (MARK H. LINTON) wrote:
-
- > From: ivanski@world.std.com (Ivan M CaveroBelaunde)
- > >
- > >So use a "ValidHandle" routine to determine that the refcon is a handle
- > >before messing with it:
- > > - Check that it's even.
- > > - Check that it's below BufPtr.
- > > - Do both checks again for the "assumed" master pointer.
- > > - Call HandleZone.
- > >
- > >in that order. Then you know you have a handle you can safely dereference.
-
- That's pretty cool, yeah! My question is, how would it work when running
- PPC native? I'm kinda clueless about PowerMac memory management...
-
- > >You still have to worry, even if you require an '020/'030. Trying to
- > >dereference addresses in a certain range-- I don't know the range, but the
- > >famous constant 0x50FFC001 is within it-- will cause a bus error.
- >
- > Yes. I keep getting told this :^) and pardon my ignorance but what is that
- > famous constant?
-
- It's the long that EBBE stuffs into nil. Supposedly, it's designed to
- cause a bus or address error on any mac with any memory configuration. I
- don't know exactly what's so special about this constant as opposed to,
- say, 0x60FFC001, though. :)
-
- Dan
-
- - ----------------------------------------------------------------
- Daniel Azuma | "Rejoice in the Lord always; again I
- Caltech | will say, Rejoice..."
- dazuma@cco.caltech.edu | --Philippians 4:4
- - ----------------------------------------------------------------
-
- +++++++++++++++++++++++++++
-
- >From peter.lewis@info.curtin.edu.au (Peter N Lewis)
- Date: Fri, 02 Sep 1994 11:37:10 +0800
- Organization: NCRPDA, Curtin University
-
- In article <1994Sep1.085027.21786@hrbicf>, mhl@icf.hrb.com (MARK H.
- LINTON) wrote:
-
- >BTW my applications require System 7 and at least a 68030 to run, so I do not
- >care if in my (**) I come across an odd address ;^)
-
- Yeah, but what if it is an address that isn't valid, or isn't mapped, or
- whatever. It'll still go bang. You need to use some variant of
- ValidHandle, checking that the ptr is even, and inside your heap, and that
- the ptr points to a ptr that is even and in your heap are definitely good
- ideas if you are going to use this scheme.
- Peter.
- --
- Peter N Lewis <peter.lewis@info.curtin.edu.au> - Macintosh TCP fingerpainter
-
- +++++++++++++++++++++++++++
-
- >From h+@nada.kth.se (Jon W{tte)
- Date: Fri, 02 Sep 1994 09:18:41 +0200
- Organization: Royal Institute of Something or other
-
- In article <344tf7$4d2@newsy.ifm.liu.se>,
- jonasw@lysator.liu.se (Jonas Wallden) wrote:
-
- >And like I, Jon and others have said earlier, one can check the windowKind
- >field first to avoid these cases. But that is just as bad as appending data to
- >the WindowRecord as long as there isn't any high-level (i.e. future-compatible)
- >way to do this.
-
- I do a #define GetWindowKind(w) ((WindowPeek)w)->windowKind
-
- Then when the real call comes around... The interesting thing
- is that Apple promises that if you follow the current API, and
- READ but not WRITE where there are no accessor functions, there
- will be a compatiblity mode. However, to take advantage of the
- new features, you need a partial re-design and total recompile.
-
- Cheers,
-
- / h+
-
-
- --
- Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
-
- Reality exists only in your imagination.
-
-
- +++++++++++++++++++++++++++
-
- >From siegel@netcom.com (Rich Siegel)
- Date: Fri, 2 Sep 1994 18:02:45 GMT
- Organization: Bare Bones Software
-
- In article <dazuma-0109941137340001@m22108.esl.com> dazuma@cco.caltech.edu (Daniel Azuma) writes:
- >> From: ivanski@world.std.com (Ivan M CaveroBelaunde)
- >> >
- >> >So use a "ValidHandle" routine to determine that the refcon is a handle
- >> >before messing with it:
- >> > - Check that it's even.
- >> > - Check that it's below BufPtr.
- >> > - Do both checks again for the "assumed" master pointer.
- >> > - Call HandleZone.
- >> >
- >> >in that order. Then you know you have a handle you can safely dereference.
- >
- >That's pretty cool, yeah! My question is, how would it work when running
- >PPC native? I'm kinda clueless about PowerMac memory management...
-
- It works just the same. The second word in "Power Macintosh" is
- "Macintosh", and that's just what a Power Macintosh is, from the
- application programmer's point of view.
-
- Incidentally, you probably only want to use Ivan's handle check in
- debugging code, not in shipping code: HandleZone() doesn't come for
- free.
-
- R.
- --
- Rich Siegel % siegel@netcom.com % President & CEO, Bare Bones Software Inc.
- --> For information about BBEdit, finger bbedit@world.std.com <--
-
- +++++++++++++++++++++++++++
-
- >From h+@nada.kth.se (Jon W{tte)
- Date: Sun, 04 Sep 1994 13:17:08 +0200
- Organization: Royal Institute of Something or other
-
- In article <dazuma-0109941137340001@m22108.esl.com>,
- dazuma@cco.caltech.edu (Daniel Azuma) wrote:
-
- >It's the long that EBBE stuffs into nil. Supposedly, it's designed to
- >cause a bus or address error on any mac with any memory configuration. I
- >don't know exactly what's so special about this constant as opposed to,
- >say, 0x60FFC001, though. :)
-
- 50ff is also an illegal instruction, so if you JUMP to 0L,
- you'll get an immediate break.
-
- Cheers,
-
- / h+
-
-
- --
- Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
- Engineering: "How will this work?" Science: "Why will this work?" Management:
- "When will this work?" Liberal Arts: "Do you want fries with that?"
- -- Jesse N. Schell
-
-
- +++++++++++++++++++++++++++
-
- >From Ron_Hunsinger@bmug.org (Ron Hunsinger)
- Date: Wed, 7 Sep 94 03:23:37 PST
- Organization: Berkeley Macintosh Users Group
-
- siegel@netcom.com writes:
-
- >Incidentally, you probably only want to use Ivan's handle check in
- >debugging code, not in shipping code: HandleZone() doesn't come for
- >free.
-
- And if you were a ship-builder, I suppose your ships would only be
- equipped with life boats while you tested them in the harbor, but you
- would remove all that extra baggage before sending them out to sea?
-
- -Ron Hunsinger
-
- +++++++++++++++++++++++++++
-
- >From kluev@jonathan.srcc.msu.su (Kluev)
- Date: Wed, 7 Sep 94 20:22:41 +0400
- Organization: (none)
-
- In article <9668AA8B9BCC.DC7EB6@klkmac014.nada.kth.se>
- h+@nada.kth.se (Jon W{tte) wrote:
-
- In article <342t26$1ia@newsy.ifm.liu.se>,
- jonasw@lysator.liu.se (Jonas Wallden) wrote:
- >
- > >The problem is that we can't be 100% sure the RefCon field holds a
- pointer
- > >or handle for *all* windows as some windows not created by our
- application
- > >can appear in our WindowList. These external windows may use the
- RefCon
- >
- > All windows in our window list that are not our own have
- > negative windowKinds, or at least windowKinds < 8.
-
- The problem doesn't go away: how to distinguish system dialog and
- my dialog? (windowKind = dialogKind = 2 in this case). The only
- compatible solution is the one suggested by someone else: keep your
- own list of windows in addition to standard one
- (FrontWindow()-> nextWindow-> nextWindow-> ...).
-
- Michael Kluev.
-
- +++++++++++++++++++++++++++
-
- >From mxmora@unix.sri.com (Matt Mora)
- Date: 8 Sep 1994 09:09:29 -0700
- Organization: SRI International, Menlo Park, CA
-
- In article <523026979413@jonathan.srcc.msu.su> kluev@jonathan.srcc.msu.su (Kluev) writes:
-
- >compatible solution is the one suggested by someone else: keep your
- >own list of windows in addition to standard one
- >(FrontWindow()-> nextWindow-> nextWindow-> ...).
-
-
- I have missed most of the thread but if its about seeing if the window
- is yours or not I usally add a field called magicSig and stuff that with
- The app signature or something. So you can tell a window is yours by
- doing the windowPeek->magicSig == mySig trick.
-
- Xavier
-
-
- --
- ___________________________________________________________
- Matthew Xavier Mora Matt_Mora@sri.com
- SRI International mxmora@unix.sri.com
- 333 Ravenswood Ave Menlo Park, CA. 94025
-
- +++++++++++++++++++++++++++
-
- >From gbolsinga@aol.com (GBolsinga)
- Date: 8 Sep 1994 16:29:04 -0400
- Organization: America Online, Inc. (1-800-827-6364)
-
- I haven't been able to follow the whole thread, but when can your app get
- windows that don't belong to it? I certain that I read in NIM: Mac Toolbox
- Essentials that your app can't get windows from other apps. I can't
- remember if it was in the Event Mgr or Window Mgr Chapter. I know that
- there are some errors in NIM. Could someone please let me know how a
- window from another app could be seen by my app?
-
- You see, I am trying to decide how I will keep my extra data with the
- window, since I'm starting on a new project, and I wasn't too happy with
- the way I have been doing it.
-
- Thanks.
-
- Greg Bolsinga
- MPI Multimedia
- /* these are my opinions */
-
-
- +++++++++++++++++++++++++++
-
- >From h+@nada.kth.se (Jon W{tte)
- Date: Fri, 09 Sep 1994 10:07:15 +0200
- Organization: Royal Institute of Something or other
-
- In article <0019C298.fc@bmug.org>,
- Ron_Hunsinger@bmug.org (Ron Hunsinger) wrote:
-
- >>Incidentally, you probably only want to use Ivan's handle check in
- >>debugging code, not in shipping code: HandleZone() doesn't come for
- >>free.
-
- >And if you were a ship-builder, I suppose your ships would only be
- >equipped with life boats while you tested them in the harbor, but you
- >would remove all that extra baggage before sending them out to sea?
-
- This is interesting!
-
- If you were a ship builder, would you equip the release version
- of your ship with helocopters, VTOL jets, lifeboats AND an
- inflatable cruiser, each capable of holding twice the capacity
- of the original ship?
-
- Debugging code is there to help you catch bugs automatically.
- By the time you ship, you're supposed to have removed all the
- bugs (right :-) so users might be somewhat unenthusiastic about
- waiting two minutes for an "Open File" dialog box to show up.
-
- That aside, I usually ship with the debug version of the oops
- libraries, meaning method calls for unknown methods or illegal
- objects are usually flagged as command failures (using the old
- TCL)
-
- HandleZone, however, or RecoverHandle, are so expensive that
- you shouldn't use them in production code unless totally
- necessary.
-
- Cheers,
-
- / h+
-
-
- --
- Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
- This is the kind of totally-gross-out-sick stuff you can do with C++ that
- makes the language kind of neat.
- -- Keith Rollin
-
-
- +++++++++++++++++++++++++++
-
- >From Jens Alfke <jens_alfke@powertalk.apple.com>
- Date: Sat, 10 Sep 1994 00:02:57 GMT
- Organization: Apple Computer
-
- Kluev, kluev@jonathan.srcc.msu.su writes:
- > The problem doesn't go away: how to distinguish system dialog and
- > my dialog? (windowKind = dialogKind = 2 in this case). The only
- > compatible solution is the one suggested by someone else: keep your
- > own list of windows in addition to standard one
- > (FrontWindow()-> nextWindow-> nextWindow-> ...).
-
- Or just don't use dialogs at all. I've found that the effort needed to
- replace the dialog manager isn't much more than the effort needed to write a
- bunch of good dialog utilities to make the dialog manager easily useable...
-
- --Jens Alfke jens_alfke@powertalk.apple.com
- "A man, a plan, a yam, a can of Spam ... Bananama!"
-
- +++++++++++++++++++++++++++
-
- >From peter.lewis@info.curtin.edu.au (Peter N Lewis)
- Date: Sun, 11 Sep 1994 16:30:33 +0800
- Organization: NCRPDA, Curtin University
-
- >Or just don't use dialogs at all. I've found that the effort needed to
- >replace the dialog manager isn't much more than the effort needed to write a
- >bunch of good dialog utilities to make the dialog manager easily useable...
-
- Yep, very true. I've gone the other way (using only DLOGs), and if I had
- it to do over again, I'd swap.
- Peter.
- --
- Peter N Lewis <peter.lewis@info.curtin.edu.au> - Macintosh TCP fingerpainter
- FTP my programs from redback.cs.uwa.edu.au:Others/PeterLewis/ or
- amug.org:pub/peterlewis/ or nic.switch.ch:software/mac/peterlewis/
-
- +++++++++++++++++++++++++++
-
- >From kluev@jonathan.srcc.msu.su (Kluev)
- Date: Sun, 11 Sep 94 20:36:53 +0400
- Organization: (none)
-
- In article <34ncvp$4ji@unix.sri.com>
- mxmora@unix.sri.com (Matt Mora) wrote:
-
- > In article <523026979413@jonathan.srcc.msu.su>
- > kluev@jonathan.srcc.msu.su > (Kluev) writes:
- >
- > >compatible solution is the one suggested by someone else: keep your
- > >own list of windows in addition to standard one
- > >(FrontWindow()-> nextWindow-> nextWindow-> ...).
- >
- > I have missed most of the thread but if its about seeing if the
- window
- > is yours or not I usally add a field called magicSig and stuff that
- with
- > The app signature or something. So you can tell a window is yours by
- > doing the windowPeek->magicSig == mySig trick.
-
- This works of course under current Mac ToolBox/OS. This will work in
- near future also. But this couldn't be treated as a good long-term
- solution:
-
- 1. Nobody guarantees that system windows will not have magicSig after
- their DialogRecord/WindowRecord.
- 2. Future OS may have intelligent memory protection, so you will not
- be able to write or read from locations beyond memory blocks.
- 3. Future Toolbox may switch from WindowRecords to WindowRefcons, so
- you wonït be able to concatenate there your data. (You may emulate
- this future feature right now: pass NIL as a first parameter to
- NewDialog/NewWindow.)
-
- Again, all this (except 1) is about mystical "future OS".
-
- Michael Kluev.
-
-
- +++++++++++++++++++++++++++
-
- >From ivan_cavero_belaunde@avid.com (Ivan Cavero Belaunde)
- Date: 12 Sep 1994 11:28:41 GMT
- Organization: Avid Technology, Inc.
-
- In article <9668AA95E453.201F4@klkmac004.nada.kth.se>, h+@nada.kth.se (Jon
- W{tte) wrote:
- > In article <0019C298.fc@bmug.org>,
- > Ron_Hunsinger@bmug.org (Ron Hunsinger) wrote:
- > >>Incidentally, you probably only want to use Ivan's handle check in
- > >>debugging code, not in shipping code: HandleZone() doesn't come for
- > >>free.
- > >And if you were a ship-builder, I suppose your ships would only be
- > >equipped with life boats while you tested them in the harbor, but you
- > >would remove all that extra baggage before sending them out to sea?
-
- That's a bit harsh; Rich's remark is on target - I believe HandleZone
- involves walking through a zone's master pointer list. It's pretty costly.
-
- > If you were a ship builder, would you equip the release version
- > of your ship with helocopters, VTOL jets, lifeboats AND an
- > inflatable cruiser, each capable of holding twice the capacity
- > of the original ship?
- > ...
- > HandleZone, however, or RecoverHandle, are so expensive that
- > you shouldn't use them in production code unless totally
- > necessary.
-
- Actually, I avoid hard and fast rules with the ValidHandle routine.
- Depending on how the likelihood (which is related to how you got the
- "handle") that you got a fake handle, the necessity of it being a handle
- (are you going to pass it to the toolbox as one?), how often the code
- would be called (if it's called once in a blue moon ValidHandle ain't that
- expensive) and the time-consumingness (ack, bad word) of the rest of the
- operation. In other words, it's a judgment call. That being said, Rich and
- Jon are dead on, Valid Handle is way expensive. I keep a ValidHandle and a
- ValidHandleSafe that I choose among - ValidHandle has the HandleZone
- routine #ifdef DEBUG'd out.
-
- -Ivan
- - --
- Ivan Cavero Belaunde (ivan_cavero_belaunde@avid.com)
- Avid VideoShop Lead
- Avid Technology, Inc.
- Disclaimer: All views expressed are entirely my own and do not
- reflect the opinions of Avid Technology, Inc.
-
- +++++++++++++++++++++++++++
-
- >From besbris@jeeves.ucsd.edu (David Besbris)
- Date: 15 Sep 1994 17:40:51 GMT
- Organization: University of California at San Diego
-
- I usually do append stuff to the windowptr, but if you want to be REALLY
- anal...
- You can keep your own linked list of your window like:
-
- Type
- NodePtr = ^ NodeRec;
- NodeRec =
- record of
- AWindow : WindowPtr;
- MyData : Handle;
- Link : NodePtr;
- end;
-
- And then when you want to know if a window is yours just search the list
- to get your data. The overhead of this is really quite small, and it can
- insulate you from all of the worries of using the refcons or appending
- data directly to a structure that you pass to the system.
-
-
- My 2 cents,
-
- Dave
-
- besbris@jeeves.ucsd.edu
-
-
- ---------------------------
-
- >From westwig@msc.cornell.edu (Erik Anton Westwig)
- Subject: Dialogs and (de)activate events
- Date: Wed, 14 Sep 1994 11:54:07 -0500
- Organization: Cornell University
-
- Here's a HIG type question for 'ya
-
- The frontmost window has some active text in it.
- The user then does something to bring up a dialog.
-
- When should I deactivate the text?
-
- I looked at ThinkC 5 and it wasn't even consistent with itself:
- 1. if you bring up the About ThinkC box with text selected in the editor,
- it
- WILL NOT deselect the text.
- 2. But if you choose New in the File Menu, it WILL deselect it.
-
- I then looked at TeachText which I figured would follow whatever Apple
- wanted
- programmers to do, and it didn't deselect the text when a dialog was
- brought
- up.
-
- This seems backwards to me, since in other parts of IM vol I, it tells you
- explicitly to deselect text when a window is not in the front. So which is
- it (and why)?
-
- Also since you aren't going to receive a deactivate event in your app when
- you
- use a Modal dialog, you will need to call the whatever deactivation routin
- within your dialog routine (right?). Is this different for a modless box?
-
- Thanks for the advice,
- ERIK
- --
- "IT's over to you..."
-
- +++++++++++++++++++++++++++
-
- >From Jens Alfke <jens_alfke@powertalk.apple.com>
- Date: Wed, 14 Sep 1994 21:29:25 GMT
- Organization: Apple Computer
-
- Erik Anton Westwig, westwig@msc.cornell.edu writes:
- > The frontmost window has some active text in it.
- > The user then does something to bring up a dialog.
- > When should I deactivate the text?
-
- Always. You should disable the active window when a dialog appears and
- re-enable it when it goes away. It takes a little bit of extra effort to do
- this, and apps are pretty inconsistent about doing it.
-
- Note that if the dialog applies to the current selection, you may want to
- display a "dimmed" selection when the window is inactive, so the user can
- still tell what area is selected.
-
- > Also since you aren't going to receive a deactivate event in your app when
- > you
- > use a Modal dialog, you will need to call the whatever deactivation routin
- > within your dialog routine (right?). Is this different for a modless box?
-
- You do actually get a deactivate event, but the modal dialog ignores it by
- default because it doesn't know diddly about your document windows. To get
- the event yourself, use a modal dialog filter and watch for activate events.
- When you get one for a document window, do the right thing. This also applies
- to update events; that way your document windows will still update while
- there is a dialog up (let's say a screen saver kicked in...)
-
- --Jens Alfke jens_alfke@powertalk.apple.com
- "A man, a plan, a yam, a can of Spam ... Bananama!"
-
- +++++++++++++++++++++++++++
-
- >From bb@lightside.com (Bob Bradley)
- Date: Tue, 13 Sep 1994 05:23:23 -0800
- Organization: SS Software Inc.
-
- In article <westwig-140994115407@cu-dialup-0039.cit.cornell.edu>,
- westwig@msc.cornell.edu (Erik Anton Westwig) wrote:
-
- > Here's a HIG type question for 'ya
- >
- > The frontmost window has some active text in it.
- > The user then does something to bring up a dialog.
- >
- > When should I deactivate the text?
-
- I always thought it was stupid that calling StandardGetFile wouldn't
- generate an activate event for the window it's coming in front of and even
- worse, it's inconsistant, since the window itself (the part the window
- manager handles for you) is deactivated (ie. the drag region is changed to
- inactivate state) but, a deactivate event isn't generated.
-
- What I do is isolate all my activate/deactivate code into a single
- HandleActivate routine that will normally be called when I receive an
- activate event. Then if I'm going to put up a dialog (like StandardFile)
- that doesn't generate an activate event, I'll manually call HandleActivate
- for that frontmost window (since it's the only one that would be active).
-
- For your own dialogs, calling ShowWindow before calling ModalDialog should
- generate the deactivate event for the previous frontmost window.
-
- ---------------------------
-
- >From mmah@alias.com (Ming Mah)
- Subject: Lets talk OpenDoc
- Date: Thu, 18 Aug 1994 14:28:06 GMT
- Organization: Alias Research Inc., Toronto ON Canada
-
- Hi gang,
-
- I have not seen a discussion thread about OpenDoc, and I wanted to
- start one up with some initial impressions that I had.
-
- I saw the discussion about OLE being bundled in the August issue
- of MacTech, and I went to pick it up. I also read about being able
- to get a copy of the OpenDoc alpha CD by sending some mail to
- OPENDOC@applelink.apple.com, and so I did that as well (and I have
- to say I am really impressed with Apple in that regards. I sent
- out my request on Friday, and by Tuesday I had received the OpenDoc
- CD ... with all the discussion about getting the CD (I know, it
- branched off into a general tirade about Apple's SDK policies) I
- have to say this was VERY impressive).
-
- Any ways, on to what I wanted to say. I first installed the OLE
- stuff, and tried to play around with the sample applications that
- were included, and I have to admit that I was really confused about
- just what Microsoft was trying to show, and how to go about doing
- anything useful at all. After exploring the CD a bit, I came across
- an 'OLE vs. OpenDoc' discussion, and things were pretty much downhill
- from there. The document has tons of (I think) uncalled for jabs at
- OpenDoc, and a lot of defensiveness about design differences between
- the two technologies.
-
- The impression I had with OLE is that it is an enabling technology
- to allow for document centric inter-application communications.
- I could not get a very nice feel for "in-place" editting as the few
- things I tried (an Excel spreadsheet, and embedding a QuickTime movie)
- both ended up launching seperate applications (Excel and a QuickTime
- movie player). In order to even play the movie, I had to switch over
- to another application to get it started, although once started it
- did play within my document.
-
- OpenDoc though seems to be a tremendous leap forward with the Macintosh
- "user experience" (I have come to REALLY like that phrase). OpenDoc
- is layered on top of Drag-and-drop and shared libraries (although
- apparently the shared library stuff will go away). The OpenDoc
- application itself is only 20K !!
-
- Viewing and editing "parts" is very intuitive (well almost, I did
- have to dig a little bit to find out about pressing command to
- move a part around, as opposed to activating it). And the interaction
- with the Finder was really nice.
-
- All part editing happened within the document, and it was kind of neat
- to see the menus switching as I went from part to part. A QuickTime
- movie is embedded by opening a QuickTime part editor (which does not
- seem "right" to me), but the movie itself was embedded directly in
- my document, and playing the movie is done by activating the badge.
-
- Back to the 'OLE vs. OpenDoc' discussion on the OLE CD. OLE seems to
- me to be just a protocol for inter-application communications (I know
- "just" is a rather harsh and over-simple word), whereas OpenDoc
- encompasses a lot more than that. OpenDoc is tightly integrated within
- the Macintosh experience (again, it was just "right" to drag a piece
- of text to the trash, and have it removed from my document), and is
- a well thought out extension to it.
-
- OpenDoc also includes some really neat file support tools, especially
- the draft version-ability. I thought that it again just shows a lot
- of thought and attention to what users want to do with a document.
-
- Well, these were just my first impressions, and if you have not already,
- I would urge you to take a look at both technologies (especially since
- they can be gotten for almost free (OpenDoc IS free)). I am starting
- to feel realy warm and fuzzy with OpenDoc, and I would be interested
- in continued discussions about OpenDoc part development.
-
- Have fun.
- Ming
-
- +++++++++++++++++++++++++++
-
- >From hanrek@cts.com (Mark Hanrek)
- Date: 18 Aug 1994 22:15:21 GMT
- Organization: The Information Workshop
-
-
- Ming,
-
- I had the exact same identical experience, and assessment, as you did.
-
- Microsoft may have put the stuff in our hands NOW, and for FREE, but I
- could not make heads or tails of where to start to dive in. There was no
- read-me that was the big arrow pointing to "Start Here". A fatal
- mistake.
-
- Also, the "OpenDoc vs. OLE: Information for Customers" thing was filled
- with unprofessional "jabs" as you rightly called them, and this makes it
- obvious that a certain entity feels a little insecure, and will resort to
- mud-slinging, since there must be little to point to which can stand on
- its own.
-
- Hmmmmm.
-
- Mark Hanrek
- The Information Workshop
-
- +++++++++++++++++++++++++++
-
- >From rob@eats.com (Rob Newberry)
- Date: Thu, 18 Aug 1994 18:34:34 UNDEFINED
- Organization: Education and Technology Solutions
-
- >Microsoft may have put the stuff in our hands NOW, and for FREE, but I
- >could not make heads or tails of where to start to dive in. There was no
- >read-me that was the big arrow pointing to "Start Here". A fatal
- >mistake.
-
- My goodness. You get a free bunch of code, and you want someone to step you
- through the whole thing too? Come on!
-
- If you want to learn about the OLE stuff on the CD, take a look at the
- Microsoft Press book, "Inside OLE 2". It is primarily Windows-oriented, but
- the OLE code is (FTMP) well explained and portable.
-
- >Also, the "OpenDoc vs. OLE: Information for Customers" thing was filled
- >with unprofessional "jabs" as you rightly called them, and this makes it
- >obvious that a certain entity feels a little insecure, and will resort to
- >mud-slinging, since there must be little to point to which can stand on
- >its own.
-
- Didn't read it. I'm not surprised, though...
-
- Rob
-
-
-
- +++++++++++++++++++++++++++
-
- >From nick+@pitt.edu ( nick.c )
- Date: Thu, 18 Aug 94 23:19:42 GMT
- Organization: The Pitt, Chemistry
-
- In Article <hanrek-1808941517260001@auke.cts.com>, hanrek@cts.com (Mark
- Hanrek) wrote:
-
- >Microsoft may have put the stuff in our hands NOW, and for FREE, but I
- >could not make heads or tails of where to start to dive in. There was no
-
-
- For what it's worth, Apple will put OpenDoc in your hands now
- and free too. After the initial flurry regarding the MacTech
- distribution of OLE, I responded to Tre's suggestion that anyone
- who was interested could get the equivalent OpenDoc SDK.
- Just got the package today, and it's in Alpha release -
- and I sure haven't figured out enough to comment on the
- superiority of one or the other. But the take home lesson
- is the resources exist to start working on either standard
- today, and at no cost. Figure I'll be doing a little reading
- tonight :-).
-
- -- nick
-
- Disclaimer: Just my opinion.
- _/ _/ _/ _/_/_/ _/ _/
- Interet: nick@pitt.edu _/_/ _/ _/ _/ _/ _/_/_/
- eWorld: nick _/ _/_/ _/ _/ _/ _/
- CIS: 71232,766 _/ _/ _/ _/_/_/ _/ _/
-
- "Science is nothing but perception" - Plato
-
- +++++++++++++++++++++++++++
-
- >From 103t_english@west.cscwc.pima.edu
- Date: 18 Aug 94 23:22:13 MST
- Organization: (none)
-
- In article <hanrek-1808941517260001@auke.cts.com>, hanrek@cts.com (Mark Hanrek) writes:
- > Ming,
- >
- > I had the exact same identical experience, and assessment, as you did.
- >
- > Microsoft may have put the stuff in our hands NOW, and for FREE, but I
- > could not make heads or tails of where to start to dive in. There was no
- > read-me that was the big arrow pointing to "Start Here". A fatal
- > mistake.
- >
- > Also, the "OpenDoc vs. OLE: Information for Customers" thing was filled
- > with unprofessional "jabs" as you rightly called them, and this makes it
- > obvious that a certain entity feels a little insecure, and will resort to
- > mud-slinging, since there must be little to point to which can stand on
- > its own.
- >
- > Hmmmmm.
-
- What I found fasckinatin was the review/comparison given in MacTech Journal.
-
- I noted a certain assumption that everyone must use C++ and that all vendors
- must use the same object format and that the overall feel of OLE vs OpenDOc was
- a tie as far as H-I concerns were concerned, etc.
-
- Even though I'm not competent to refute any of his observations, I felt that
- the tone of the article was "Microsoft paid me to write this and so I'm putting
- it in the best possible light."
-
-
- Anyone else get this feeling?
-
-
- Lawson
-
- +++++++++++++++++++++++++++
-
- >From Ken Prehoda <kenp@nmrfam.wisc.edu>
- Date: 19 Aug 1994 16:57:26 GMT
- Organization: Univ of Wisc-Madison
-
- In article <1994Aug18.232213@west.cscwc.pima.edu> ,
- 103t_english@west.cscwc.pima.edu writes:
- >Even though I'm not competent to refute any of his observations, I felt
- that
- >the tone of the article was "Microsoft paid me to write this and so I'm
- putting
- >it in the best possible light."
- >
- >
- >Anyone else get this feeling?
-
- I got the same feeling. I was definitely surprised at the authors
- SOM-bashing. I am not that familiar with SOM but have heard good things.
- The author of the MacTech article made it sound as if SOM was completely
- unacceptable.
-
- Are there any unbiased opinions on SOM vs. COM?
-
- -Ken Prehoda
- kenp@nmrfam.wisc.edu
-
- +++++++++++++++++++++++++++
-
- >From h+@nada.kth.se (Jon W{tte)
- Date: Fri, 19 Aug 1994 22:27:21 +0200
- Organization: Royal Institute of Something or other
-
- In article <1994Aug18.232213@west.cscwc.pima.edu>,
- 103t_english@west.cscwc.pima.edu wrote:
-
- >I noted a certain assumption that everyone must use C++ and that all vendors
- >must use the same object format
-
- Uh, not under OpenDoc you don't have to. OpenDoc will layer on
- top of SOM, which is language neutral and even provides network
- transparency in DSOM.
-
- However, the current _ALPHA_ release uses the ASLM which
- demands either MPW C++ _or_ SC++ for MPW for the entire build.
-
- >and that the overall feel of OLE vs OpenDOc was
- >a tie as far as H-I concerns were concerned, etc.
-
- Simply not true, as anyone who has tried to create and edit a
- composite document in OLE 2 versus OpenDoc will tell you.
-
- Cheers,
-
-
- / h+
-
-
- --
- Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
-
- "TextEdit does everything right."
- ã Jon W{tte
-
-
- +++++++++++++++++++++++++++
-
- >From h+@nada.kth.se (Jon W{tte)
- Date: Fri, 19 Aug 1994 22:27:23 +0200
- Organization: Royal Institute of Something or other
-
- In article <rob.308.005C70F3@eats.com>,
- rob@eats.com (Rob Newberry) wrote:
-
- >My goodness. You get a free bunch of code, and you want someone to step you
- >through the whole thing too? Come on!
-
- You DO get that on the OpenDoc CD. It has lots of useful
- recepies for various things, and also comes with PartMaker,
- which generates a part shell for you which you can extend.
-
- Cheers,
-
- / h+
-
-
- --
- Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
-
- "TextEdit does everything right."
- ã Jon W{tte
-
-
- +++++++++++++++++++++++++++
-
- >From mmah@alias.com (Ming Mah)
- Date: Fri, 19 Aug 1994 21:08:23 GMT
- Organization: Alias Research, Inc., Toronto ON Canada
-
- In <1994Aug18.232213@west.cscwc.pima.edu> 103t_english@west.cscwc.pima.edu writes:
-
- >What I found fasckinatin was the review/comparison given in MacTech Journal.
-
- >I noted a certain assumption that everyone must use C++ and that all vendors
- >must use the same object format and that the overall feel of OLE vs OpenDOc was
- >a tie as far as H-I concerns were concerned, etc.
-
- >Even though I'm not competent to refute any of his observations, I felt that
- >the tone of the article was "Microsoft paid me to write this and so I'm putting
- >it in the best possible light."
-
-
- >Anyone else get this feeling?
-
-
- >Lawson
-
-
- Hi Lawson,
-
- Yes, that was the same feeling I had. In terms of H-I, OpenDoc is
- really easy to use, and feels very natural (although A LOT of this
- has to do with drag-and-drop). Editing in place feels really nice
- with OpenDoc, and although it may have been just that OLE was not
- set up with workable demos, launching Excel to edit a spreadsheet
- somehow just does not feel the same.
-
- A major "argument" that I saw in the MacTech review was the
- underlying support architecture, and the way OpenDoc's SOM was
- described sounded really intimidating to me. Now currently
- the OpenDoc Alpha uses Shared Libraries (which I do not know
- how to create either), and PartMaker creates all the necessary
- configuration files (including make files and such) so I would
- suspect that when OpenDoc goes SOM that the same thing would
- happen. I am sure that if someone HAD to get down and dirty
- that SOM-ness (or whatever) could be scary, but so far (and
- I have a very simple part running after only playing around
- for two days) I have NOT run into any difficulties at all,
- let alone any of the nature that were speculated upon in
- the review article.
-
- The review does feel really very much as if it was written
- by Microsoft, and not by someone who has used OpenDoc much
- (if at all !!). I still really feel that the document
- structure file support (for things like drafts and mostly
- transparent access to drag-and-drop and links) is a cool
- feature of OpenDoc way beyond a simple IAC interface.
-
- Have fun.
- Ming
-
- +++++++++++++++++++++++++++
-
- >From nagle@netcom.com (John Nagle)
- Date: Sat, 20 Aug 1994 04:44:10 GMT
- Organization: NETCOM On-line Communication Services (408 261-4700 guest)
-
- 103t_english@west.cscwc.pima.edu writes:
- >What I found fasckinatin was the review/comparison given in MacTech Journal.
- >I noted a certain assumption that everyone must use C++ and that all vendors
- >must use the same object format and that the overall feel of OLE vs OpenDOc was
- >a tie as far as H-I concerns were concerned, etc.
-
- >Even though I'm not competent to refute any of his observations, I felt that
- >the tone of the article was "Microsoft paid me to write this and so I'm putting
- >it in the best possible light."
- >Anyone else get this feeling?
-
- I didn't get that feeling. The Microsoft position is much stronger,
- and can be found in "White Papers:Point CounterPoint" on the OLE CD-ROM.
-
- OLE is definitely C++ oriented; it knows about C++ vtables.
- OpenDoc bought into IBM's System Object Model, which is language-neutral,
- sort of. The languages have to know about SOM, or at least it works
- better if they do.
-
- A more fundamental problem is that all this machinery exists mostly
- so you can embed different documents in your word processor and still
- edit them with appropriate tools. It's sort of "Publish and Subscribe,
- The Next Generation". Yes, you can do other stuff, but the touted
- advantage is mostly for integrated documents. It's all focused on
- what documents look like, not what they mean. Is that really worth all
- this complexity?
-
- John Nagle
-
- +++++++++++++++++++++++++++
-
- >From 103t_english@west.cscwc.pima.edu
- Date: 20 Aug 94 00:50:01 MST
- Organization: (none)
-
- In article <nagleCutH5M.1w1@netcom.com>, nagle@netcom.com (John Nagle) writes:
- > 103t_english@west.cscwc.pima.edu writes:
- >>What I found fasckinatin was the review/comparison given in MacTech Journal.
- >>I noted a certain assumption that everyone must use C++ and that all vendors
- >>must use the same object format and that the overall feel of OLE vs OpenDOc was
- >>a tie as far as H-I concerns were concerned, etc.
- >
- >>Even though I'm not competent to refute any of his observations, I felt that
- >>the tone of the article was "Microsoft paid me to write this and so I'm putting
- >>it in the best possible light."
- >>Anyone else get this feeling?
- >
- > I didn't get that feeling. The Microsoft position is much stronger,
- > and can be found in "White Papers:Point CounterPoint" on the OLE CD-ROM.
- >
- > OLE is definitely C++ oriented; it knows about C++ vtables.
- > OpenDoc bought into IBM's System Object Model, which is language-neutral,
- > sort of. The languages have to know about SOM, or at least it works
- > better if they do.
- >
- > A more fundamental problem is that all this machinery exists mostly
- > so you can embed different documents in your word processor and still
- > edit them with appropriate tools. It's sort of "Publish and Subscribe,
- > The Next Generation". Yes, you can do other stuff, but the touted
- > advantage is mostly for integrated documents. It's all focused on
- > what documents look like, not what they mean. Is that really worth all
- > this complexity?
- >
- > John Nagle
-
-
- So, is the complexity for the programmer or for the user, and just who is more
- important?
-
-
- Lawson
-
- +++++++++++++++++++++++++++
-
- >From philip@cs.uct.ac.za (Philip Machanick)
- Date: 20 Aug 1994 14:40:56 +0200
- Organization: Computer Science Department, University of Cape Town
-
- Ming Mah (mmah@alias.com) wrote:
- : I saw the discussion about OLE being bundled in the August issue
- : of MacTech, and I went to pick it up. I also read about being able
- : to get a copy of the OpenDoc alpha CD by sending some mail to
- : OPENDOC@applelink.apple.com, and so I did that as well (and I have
- : to say I am really impressed with Apple in that regards. I sent
- : out my request on Friday, and by Tuesday I had received the OpenDoc
-
- Took a little longer in my case, but I am on a different continent and
- they sent it DHL at their expense. I haven't seen the OLE CD yet - if
- anyone wants to get rid of theirs, let me know (I don't mind if you can't
- afford DHL :). If so please send mail to philipm@is.co.za - my regular
- mail server is broken.
-
- : CD ... with all the discussion about getting the CD (I know, it
- : branched off into a general tirade about Apple's SDK policies) I
- : have to say this was VERY impressive).
- [...]
- : Back to the 'OLE vs. OpenDoc' discussion on the OLE CD. OLE seems to
- : me to be just a protocol for inter-application communications (I know
- : "just" is a rather harsh and over-simple word), whereas OpenDoc
- : encompasses a lot more than that. OpenDoc is tightly integrated within
- : the Macintosh experience (again, it was just "right" to drag a piece
- : of text to the trash, and have it removed from my document), and is
- : a well thought out extension to it.
-
- I wonder what there is in it for Microsoft to wholeheartedly embrace
- the concept of lots of small plug and play editors. Microsoft relies
- on selling big bloated apps for income.
-
- Apple has always been a paradigm-shift company - even if they
- sometimes forget this - whereas Microsoft is a kludge-shift
- company. Apple has an inherent need to push new ways of doing things
- as a selling point for a minority platform. Microsoft has to please
- conservative managers by pretending they aren't changing the way
- things are done, just covering corporate asses by filling out the
- feature list as fully as possible. This leads to gigantic monolithic
- apps. It's hard to see how MS Word, Excel etc. fit into a
- document centric world.
-
- That's partly why I would like to check out the OLE CD. Is it
- really document centric - or is it just a way of embedding
- pieces of other apps' documents in one app's documents?
- --
- Philip Machanick philip@cs.wits.ac.za
- Computer Science Department, University of he Witwatesrand
- 2050 Wits, South Africa 27(11)716-3309 fax 339-7965
- (at University of Cape Town until November: 27(21)650-4058)
-
- +++++++++++++++++++++++++++
-
- >From sandvik@apple.com (Kent Sandvik)
- Date: Sat, 20 Aug 1994 19:16:32 GMT
- Organization: Dr. Stupid Meets Frankenstein
-
- In article <334tko$jjq@cs.uct.ac.za>
- philip@cs.uct.ac.za (Philip Machanick) writes:
-
- > Apple has always been a paradigm-shift company - even if they
- > sometimes forget this - whereas Microsoft is a kludge-shift
- > company. Apple has an inherent need to push new ways of doing things
- > as a selling point for a minority platform. Microsoft has to please
- > conservative managers by pretending they aren't changing the way
- > things are done, just covering corporate asses by filling out the
- > feature list as fully as possible. This leads to gigantic monolithic
- > apps. It's hard to see how MS Word, Excel etc. fit into a
- > document centric world.
- >
- > That's partly why I would like to check out the OLE CD. Is it
- > really document centric - or is it just a way of embedding
- > pieces of other apps' documents in one app's documents?
-
- You are on the right track, a lot of the OLE versus OpenDoc has to do
- with techno-political, strategic games. Microsoft would not like to
- loose the lucrative market of selling base applications to office
- environments. Imagine a future where anyone could buy cheaper
- components and put together their favourite environment. The content is
- the content, and the tools are the tools.
-
- There will of course be a nice market for companies that bundle part
- handlers so the end result is indeed a classical application. However
- Microsoft would no longer have full control of their base line
- application offerings, and that's something they don't want to loose.
- Thus their technical drive behind OLE is more to make sure that
- applications offer OLE support, and of course their applications are
- the prime OLE engines.
-
- Think about this next time you read technical blurbs from Microsoft
- about OLE. Anyway, private comments. I would rather see a world where
- all kinds of companies are allowed to compete on the application arena,
- instead of having one single big company dictate the rules.
-
- Cheers, Kent
-
- Kent Sandvik, Apple Computer Inc. sandvik@apple.com
- --Private activities on the net --
-
- +++++++++++++++++++++++++++
-
- >From michael@elwing.otago.ac.nz (Michael(tm) Hamel)
- Date: Sat, 20 Aug 1994 21:06:17 GMT
- Organization: University of Otago
-
- 103t_english@west.cscwc.pima.edu wrote:
-
- > I noted a certain assumption that everyone must use C++ and that all vendors
- > must use the same object format and that the overall feel of OLE vs OpenDOc was
- > a tie as far as H-I concerns were concerned, etc.
-
- What really gets me about OpenDoc is that its another factor thats going to
- push my company off the Macintosh.
-
- We have a substantial code base written in Object Pascal. Apple are saying to
- us, "Hey, rewrite everything in C++ in this entirely different way and thats
- the future". The trouble is, thats exactly the effort required to put us on
- Windows. Now, I believe, and I'm sure you'll agree, that moving to OpenDoc
- would be a much "nicer" thing to do and would produce a better user experience,
- etc. But it requires us to trust the Apple who brought us MacApp and BedRock
- with an awfully similar-looking exercise. And we just can't afford to do that.
- Maybe in twelve or eighteen months it will be clearer that we can, but we may
- have to commit ourselves before then. To Windows.
-
- --
- Michael(tm) Hamel ADInstruments, Dunedin, New Zealand
- michael@otago.ac.nz
-
- "The Galaxy's a fun place. You'll need to have this fish in your ear."
-
- +++++++++++++++++++++++++++
-
- >From 103t_english@west.cscwc.pima.edu
- Date: 20 Aug 94 16:51:02 MST
- Organization: (none)
-
- In article <CuuqMI.BMJ@news.otago.ac.nz>, michael@elwing.otago.ac.nz (Michael(tm) Hamel) writes:
- > 103t_english@west.cscwc.pima.edu wrote:
- >
- >> I noted a certain assumption that everyone must use C++ and that all vendors
- >> must use the same object format and that the overall feel of OLE vs OpenDOc was
- >> a tie as far as H-I concerns were concerned, etc.
- >
- > What really gets me about OpenDoc is that its another factor thats going to
- > push my company off the Macintosh.
- >
- > We have a substantial code base written in Object Pascal. Apple are saying to
- > us, "Hey, rewrite everything in C++ in this entirely different way and thats
- > the future". The trouble is, thats exactly the effort required to put us on
- > Windows. Now, I believe, and I'm sure you'll agree, that moving to OpenDoc
- > would be a much "nicer" thing to do and would produce a better user experience,
- > etc. But it requires us to trust the Apple who brought us MacApp and BedRock
- > with an awfully similar-looking exercise. And we just can't afford to do that.
- > Maybe in twelve or eighteen months it will be clearer that we can, but we may
- > have to commit ourselves before then. To Windows.
- >
-
- WHile I don't know that OpenDoc will work with Object Pascal, the fact that it
- is touted as more language-independent than OLE suggest that it should...
-
- Any OpenDoc gurus/designers lurking?
-
-
- Lawson
-
- +++++++++++++++++++++++++++
-
- >From hanrek@cts.com (Mark Hanrek)
- Date: 21 Aug 1994 01:08:05 GMT
- Organization: The Information Workshop
-
- >>
- >> Mark Hanrek said...
- >>
- >> Microsoft may have put the stuff in our hands NOW, and for FREE, but I
- >> could not make heads or tails of where to start to dive in. There was no
- >> read-me that was the big arrow pointing to "Start Here". A fatal
- >> mistake.
- >
- In article <rob.308.005C70F3@eats.com>, rob@eats.com (Rob Newberry) wrote:
- >
- > My goodness. You get a free bunch of code, and you want someone to step you
- > through the whole thing too? Come on!
- >
-
- Rob,
-
- Boy, you must not work in a business-oriented environment do you?
-
- This isn't a "guessing game" we're playing here. This is business. Time
- is money. We take the "path of least resistance" and work on a
- need-to-know basis.
-
- And a question business-oriented programmer find themselves asking is...
-
- Do you want us to use the technology or not?
-
-
- This is why I take advantage of every opportunity to put forth the
- recommendation that Apple, and any other company that wants programmers to
- use their technology and APIs, to take the well-known world of
- "user-interface" and "ease of use" and extend it to programmers, because
- programmers are humans too.
-
- - ---
-
- In a separate thread, we noted MacTech's success and praised them, and it
- was mentioned that "if a company cares about the customer, then everything
- else falls into place nicely".
-
- Likewise, if "programmer-interface" is recognized, and the principles of
- "programmer ease-of-use" are implemented, then everything falls into place
- nicely. It is a simple way to catch a myriad of things that slow
- programmers down which can easily be eliminated.
-
- This isn't about making things all nice and pretty and neat for sissy
- programmers.
-
- It has to do with making it so we can go in, do what we need to do, and
- get the hell out of there because we have to move on to 25 other issues
- and we don't have time to screw around being confused, being predisposed
- to making mistakes that have already been made, encountering bugs that
- have already been found, and asking the same questions over and over and
- over.
-
- - ---
-
- If someone at Microsoft had been paying attention to what was going on,
- they wouldn't have forgotten to "guide" the programmer interested in OLE,
- telling them to "start here, play with that, then get into this, then
- graduate to this other thing if you wish, and before you start, here is
- some perspective as to how all these things fit together".
-
- If someone there truly "cared" about the OLE CD being truly effective,
- they would have discovered this oversight.
-
- This kind of implies something... that this is what happens when you have
- a bunch of people trained to do only what they are told, and to not ask
- questions, or bother having any "ideas". :)
-
- I am glad I am aligned with Macintosh, and OpenDoc.
-
-
- Mark Hanrek
- The Information Workshop
-
- +++++++++++++++++++++++++++
-
- >From neil_ticktin@xplain.com (Neil Ticktin)
- Date: Sun, 21 Aug 1994 03:42:37 GMT
- Organization: MacTech Magazine/Xplain Corporation
-
- In article <1994Aug18.232213@west.cscwc.pima.edu>,
- 103t_english@west.cscwc.pima.edu wrote:
-
- >> Even though I'm not competent to refute any of his observations, I felt that
- >> the tone of the article was "Microsoft paid me to write this and so I'm
- >> putting it in the best possible light."
- >>
- >> Anyone else get this feeling?
-
- Lawson,
-
- Rest assured that at the time of writing the article, Jeff Alger was
- independent from both Apple and Microsoft. In fact, we checked with both
- companies to see if Jeff was a "fair" choice before embarking on the
- article. Both gave their "ok".
-
- Jeff wrote an article that a lot of people agree with and a lot of people
- disagree with. The important thing is that Jeff worked with both sets of
- software just as any developer would and then wrote up his opinions.
- Jeff, as you know, liked OLE better. Why? Because he found it easier to
- work with and did not like SOM.
-
- Realize that Jeff's opinion on SOM is just that, an opinion. I personally
- don't agree with it from what I've heard, but I feel strongly that people
- are entitled to their opinion. Jeff's also spent more time working with
- the stuff than a lot of people have.
-
- Also realize that Jeff was working with whatever was available at the
- time. Documentation and tools for OpenDoc and OLE have been moving very
- quickly. The articles were written back in the June timeframe and things
- are much different already. Jeff based his comments on what he saw at
- that moment in time, not promises for the future.
-
- One last thing. Even though Jeff favored OLE, he took a bunch of jabs at
- it. Microsoft had enough respect for Jeff's comments that they've now
- offered him a job. They seem to be truly interested in making their
- product better. This all came to pass AFTER the article was published,
- let alone written.
-
- In the end, I believe that OpenDoc will win because the technology, I
- think, is cool and is better integrated. But, Microsoft is putting up one
- hell of a fight in the mean time.
-
- Our goal at MacTech was to put the technology and concepts in your hands.
- As a developer, the choice is up to you. Hope it was of help.
-
- Thanks,
-
- Neil Ticktin
- MacTech Magazine
-
- - ---------------------------------------------------------------------
- Neil Ticktin, MacTech Magazine (formerly MacTutor)
- PO Box 250055, Los Angeles, CA 90025 * 310-575-4343 * Fax: 310-575-0925
- For more info, anonymous ftp to ftp.netcom.com and cd to /pub/xplain
- custservice@xplain.com * editorial@xplain.com * adsales@xplain.com
- marketing@xplain.com * accounting@xplain.com * pressreleases@xplain.com
- progchallenge@xplain.com * publisher@xplain.com * info@xplain.com
-
- +++++++++++++++++++++++++++
-
- >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
- Date: Sun, 21 Aug 1994 15:06:39 +0800
- Organization: Department of Computer Science, The University of Western Australia
-
- In article <CuuqMI.BMJ@news.otago.ac.nz>, michael@elwing.otago.ac.nz
- (Michael(tm) Hamel) wrote:
-
- >We have a substantial code base written in Object Pascal. Apple are saying to
- >us, "Hey, rewrite everything in C++ in this entirely different way and thats
- >the future".
-
- I disagree with this. SOM puts you in a much better position to support
- Pascal than any of the other technologies Apple is using (specifically
- ASLM). At least with SOM there's a hope of you being able to compile the
- IDL into Pascal. Everywhere else on the Mac the interfaces are written in
- C and then given to someone who doesn't know Pascal (and doesn't care
- IMHO) to port. With SOM you should be able to do the job yourself (and
- hence get it done well).
-
- btw This is all speculation from what I've read in OS/2 Developer
- magazine. I haven't actually got the OpenDoc CD.
- --
- Quinn "The Eskimo!" <quinn@cs.uwa.edu.au> "Support HAVOC!"
- Department of Computer Science, The University of Western Australia
- Who's sick and tired of Apple Pascal interfaces that won't even
- run through the bloody compiler! Negligence IMHO.
-
- +++++++++++++++++++++++++++
-
- >From philip@cs.uct.ac.za (Philip Machanick)
- Date: 21 Aug 1994 11:07:22 +0200
- Organization: Computer Science Department, University of Cape Town
-
- John Nagle (nagle@netcom.com) wrote:
-
- : A more fundamental problem is that all this machinery exists mostly
- : so you can embed different documents in your word processor and still
- : edit them with appropriate tools. It's sort of "Publish and Subscribe,
- : The Next Generation". Yes, you can do other stuff, but the touted
- : advantage is mostly for integrated documents. It's all focused on
- : what documents look like, not what they mean. Is that really worth all
- : this complexity?
-
- I think you miss the point. You can move away from a world of monolithic
- apps like word processors to generic apps in which you use your
- favourite editors. This is paradigm shift, not change of detail.
-
- Whether it will work or not is hard to say at this stage because of
- the potential for problems with managing a highly customizable world.
-
- Consider an example that is not word processing, like software development.
-
- Your major outer level document looks like a Think/CW project. It
- contains embedded documents that are source code, object code,
- resources etc. Each of these embedded objects has editors - which
- you can replace by other editors that have the right semantics,
- but maybe a different look and feel. Object code's editor would
- be a compiler with behaviours like bring up to date. The overall
- project document would also have an editor that would bring the
- whole project up to date.
-
- Take this a step further and embed this in a version control
- system - one more layer of document.
-
- Embed this in a documentation system and you've reinvented
- Knuth's Web.
-
- If this is done right, vast potential is opened up for
- restructuring the way you work around a document-centric
- view of the world.
-
- The biggest problem is that everyone is going to want to
- do it - and not everyone will have the necessary design
- skills.
-
- This is a brave new world that Apple is creating for us and
- it will revolutionise the way we work as much as the original
- Mac did.
- --
- Philip Machanick philip@cs.wits.ac.za
- Computer Science Department, University of he Witwatesrand
- 2050 Wits, South Africa 27(11)716-3309 fax 339-7965
- (at University of Cape Town until November: 27(21)650-4058)
-
- +++++++++++++++++++++++++++
-
- >From h+@nada.kth.se (Jon W{tte)
- Date: Sun, 21 Aug 1994 13:28:08 +0200
- Organization: Royal Institute of Something or other
-
- In article <CuuqMI.BMJ@news.otago.ac.nz>,
- michael@elwing.otago.ac.nz (Michael(tm) Hamel) wrote:
-
- >What really gets me about OpenDoc is that its another factor thats going to
- >push my company off the Macintosh.
-
- Huh? No-one's forcing you to write for OpenDoc. The monolthic
- app approach will not die for several years yet.
-
- >We have a substantial code base written in Object Pascal. Apple are saying to
- >us, "Hey, rewrite everything in C++ in this entirely different way and thats
- >the future". The trouble is, thats exactly the effort required to put us on
-
- No, that's not what they're saying. You will have to
- re-structure your UI around the way OpenDoc delivers user
- interaction; true; and you will also have to re-write your
- saving code a bit, but OpenDoc is LANGUAGE NEUTRAL since it
- uses SOM. OLE, on the other hand, parses vtables, so it HAS to
- be written in C++.
-
- Maybe you're confusing the design of OpenDoc with the current
- alpha implementation, which does indeed temporarily require C++.
-
- >etc. But it requires us to trust the Apple who brought us MacApp and BedRock
- >with an awfully similar-looking exercise. And we just can't afford to do that.
-
- No. You have to trust CILabs. CILabs is sponsored by Apple,
- IBM, Novell, Word Perfect and lots of other people. Word
- Perfect is doing the Windows version of OpenDoc, and I hear the
- alpha is already out. Writing for OpenDoc really means writing
- for OpenDoc, not for a particular platform. There are of course
- platform-specific areas that need to be covered, but you can
- take your own cross-platform approach, or you can use an
- existing library (like the Open Parts Framework)
-
- Cheers,
-
- / h+
-
-
-
- --
- Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
- Not speaking for IBM.
-
-
- +++++++++++++++++++++++++++
-
- >From pchang@Xenon.Stanford.EDU (The Weasel)
- Date: 21 Aug 1994 16:05:16 GMT
- Organization: Computer Science Department, Stanford University.
-
- >Even though I'm not competent to refute any of his observations, I felt that
- >the tone of the article was "Microsoft paid me to write this and so I'm putting
- >it in the best possible light."
-
- Well, Jeff Alger does work for Microsoft now. I don't recall the articl
- ementioning this.
-
- Peter
-
-
-
- +++++++++++++++++++++++++++
-
- >From 103t_english@west.cscwc.pima.edu
- Date: 21 Aug 94 15:55:16 MST
- Organization: (none)
-
- In article <337tvs$qkv@Times.Stanford.EDU>, pchang@Xenon.Stanford.EDU (The Weasel) writes:
- >>Even though I'm not competent to refute any of his observations, I felt that
- >>the tone of the article was "Microsoft paid me to write this and so I'm putting
- >>it in the best possible light."
- >
- > Well, Jeff Alger does work for Microsoft now. I don't recall the articl
- > ementioning this.
- >
- > Peter
- >
- >
-
- I got e-amil from the MacTech guy (another what'sisname) who says that Jeff A.
- was NOT working for MS when the article was published...
-
- Fair enough. However, one might wonder as to when Mr. Alger submitted his
- application to Microsoft (or did they approach him?), and did he hope that they
- would read his article in a favorable light, thereby being more likely to hire
- him.
-
-
- Interesting: via the Internet, we can establish possible motives for biased
- reporting that can be read and debated by thousands of interested folks. 20
- years ago, we would probably be waiting for an expose from the newspapers which
- probably wouldn't be forthcoming in this case.
-
-
- Lawson
-
- +++++++++++++++++++++++++++
-
- >From nagle@netcom.com (John Nagle)
- Date: Mon, 22 Aug 1994 01:50:25 GMT
- Organization: NETCOM On-line Communication Services (408 261-4700 guest)
-
- philip@cs.uct.ac.za (Philip Machanick) writes:
- >John Nagle (nagle@netcom.com) wrote:
-
- >: A more fundamental problem is that all this machinery exists mostly
- >: so you can embed different documents in your word processor and still
- >: edit them with appropriate tools. It's sort of "Publish and Subscribe,
- >: The Next Generation". Yes, you can do other stuff, but the touted
- >: advantage is mostly for integrated documents. It's all focused on
- >: what documents look like, not what they mean. Is that really worth all
- >: this complexity?
-
- >I think you miss the point. You can move away from a world of monolithic
- >apps like word processors to generic apps in which you use your
- >favourite editors. This is paradigm shift, not change of detail.
-
- This assumes you want an editor/document centered world. There
- are other models, such as a database-centered world. For coordinating
- the work of multiple people, a database-centered world may be more
- appropriate.
-
- Whatever happened to Apple's SQL interface, anyway? It was in
- System 7, and optional in 7.1. Is it in 7.5 at all? I was hoping for
- more data-centered apps, and groupware based on databases.
-
- The MacTech article indicates that OpenDoc is weak on locking
- and networking. How does this editor/document model work for multiple
- users?
-
- John Nagle
-
- +++++++++++++++++++++++++++
-
- >From sandvik@apple.com (Kent Sandvik)
- Date: Mon, 22 Aug 1994 03:07:52 GMT
- Organization: Dr. Stupid Meets Frankenstein
-
- In article <CuuqMI.BMJ@news.otago.ac.nz>
- michael@elwing.otago.ac.nz (Michael(tm) Hamel) writes:
-
- > We have a substantial code base written in Object Pascal. Apple are saying to
- > us, "Hey, rewrite everything in C++ in this entirely different way and thats
- > the future". The trouble is, thats exactly the effort required to put us on
- > Windows. Now, I believe, and I'm sure you'll agree, that moving to OpenDoc
- > would be a much "nicer" thing to do and would produce a better user experience,
- > etc. But it requires us to trust the Apple who brought us MacApp and BedRock
- > with an awfully similar-looking exercise. And we just can't afford to do that.
- > Maybe in twelve or eighteen months it will be clearer that we can, but we may
- > have to commit ourselves before then. To Windows.
-
- Hmm, I thought it was the other way around, OLE requires vtables and
- SOM used in OpenDoc is more language independent. I need to check this
- out. I think the reason some believe that OpenDoc is C++ centric is
- that it uses ASLM today, but that's transitory.
-
- As for Jeff A. writing the article, hehehe.... That explains the
- controversy. He's also involved in MFC training and consulting. Anyway,
- nobody's neutral in the computing wars. Where are the CORBRA followers,
- BTW?
-
- Cheers, Kent
- - -
- Kent Sandvik, sandvik@apple.com
- --Private activities on the net, not related to the company I work for
- --
-
- +++++++++++++++++++++++++++
-
- >From neil_ticktin@xplain.com (Neil Ticktin)
- Date: Mon, 22 Aug 1994 06:26:02 GMT
- Organization: MacTech Magazine/Xplain Corporation
-
- In article <337tvs$qkv@Times.Stanford.EDU>, pchang@Xenon.Stanford.EDU (The
- Weasel) wrote:
-
- >> >Even though I'm not competent to refute any of his observations, I
- felt that
- >> >the tone of the article was "Microsoft paid me to write this and so
- I'm putting
- >> >it in the best possible light."
- >>
- >> Well, Jeff Alger does work for Microsoft now. I don't recall the articl
- >> ementioning this.
- >>
- >> Peter
-
- Peter,
-
- I need to be perfectly clear here. Jeff was not in any way affiliated or
- discussing affiliation with Microsoft until AFTER the article was
- published. As I heard it, Microsoft was so impressed by the article, they
- asked him to join the company.
-
- See what writing for MacTech Magazine can do for your career? :)
-
- But again -- he was unbiased at the time he wrote the article and that is
- what is important.
-
- Thanks,
-
- Neil Ticktin
- MacTech Magazine
-
- - ---------------------------------------------------------------------
- Neil Ticktin, MacTech Magazine (formerly MacTutor)
- PO Box 250055, Los Angeles, CA 90025 * 310-575-4343 * Fax: 310-575-0925
- For more info, anonymous ftp to ftp.netcom.com and cd to /pub/xplain
- custservice@xplain.com * editorial@xplain.com * adsales@xplain.com
- marketing@xplain.com * accounting@xplain.com * pressreleases@xplain.com
- progchallenge@xplain.com * publisher@xplain.com * info@xplain.com
-
- +++++++++++++++++++++++++++
-
- >From philip@cs.uct.ac.za (Philip Machanick)
- Date: 21 Aug 1994 11:59:23 +0200
- Organization: Computer Science Department, University of Cape Town
-
-
- Kent Sandvik (sandvik@apple.com) wrote:
- : In article <334tko$jjq@cs.uct.ac.za>
-
- : You are on the right track, a lot of the OLE versus OpenDoc has to do
- : with techno-political, strategic games. Microsoft would not like to
- : loose the lucrative market of selling base applications to office
- : environments. Imagine a future where anyone could buy cheaper
- : components and put together their favourite environment. The content is
- : the content, and the tools are the tools.
-
- : There will of course be a nice market for companies that bundle part
- : handlers so the end result is indeed a classical application. However
- : Microsoft would no longer have full control of their base line
- : application offerings, and that's something they don't want to loose.
- : Thus their technical drive behind OLE is more to make sure that
- : applications offer OLE support, and of course their applications are
- : the prime OLE engines.
-
- : Think about this next time you read technical blurbs from Microsoft
- : about OLE. Anyway, private comments. I would rather see a world where
- : all kinds of companies are allowed to compete on the application arena,
- : instead of having one single big company dictate the rules.
-
- I would still like to see more on OLE - even if I am on the right
- track without knowing anything :) Does MS have an ftp site or WW
- server with documentation?
-
- In 1987, I started thinking about Brad Cox's Software IC idea -
- reusable components written in a object-oriented language. His notion
- was that software should be sold in small reusable units, the way
- chips are sold.
-
- However, I felt that something was missing. Most people who add ICs
- (chips) to things like computers are not engineers who design the
- whole thing from board level up. What was really needed was the
- software analog of the printed circuit board (PCB), already populated
- with enough ICs to get you started. Something like a PC logic board,
- with RAM, FPU and other options left out - and slots for expansion.
-
- I considered various candidates for software PCBs among existing OO
- tools, and felt none of them provided enough support for plugging in
- components - they were more like the software equivalent of wire
- wrap prototypes. A true software PCB would have to define an
- infrastructure for adding components that would not only define
- default behaviours, like low-level printer protocols, but also
- ways for components to interact (the software analog of traces on
- the PCB, and hardware interaction protocols - voltage levels etc.).
- Components would have to define how they appeared on a page,
- shared space with neighouring objects, etc.
-
- Another idea I had was that everything should be a document -
- there shouldn't even be a separate file system. Viewing what's
- on your disk then becomes a special case of viewing contents
- of a document - and alternative views also become a natural
- concept. I dislike imposing a single hierarchy on the world,
- and by allowing alternative views of the "file system", it
- should be possible to navigate through your disk in a way
- natural to the task at hand. For example, group together
- everything created after a certain date, view everything
- related to a specific project etc. I also thought up the
- idea of thumbnail views - I felt something was needed
- between an icon and a full view of a document.
-
- I think it would be very interesting to put together an
- OpenDoc hierarchical browser similar to the Smalltalk
- browser, which would allow navigation of the file system
- according to a range of criteria (take the System 7 Find
- as a starting point). The lowest level of the browser would
- be a document - which you could start working on. One level
- up, names of everything that matched the search criteria,
- with the option of expanding to thumbnail views. Next level
- up, the search criteria.
-
- I don't claim all these ideas are original - though until
- OpeDoc appeared, I don't recall seeing them put together
- in this way. The way OpenDoc packages these concepts is
- a paradigm shift - it changes the way we thing about
- documents and applications - it is not just another
- kludge to make it easier to share information.
-
- I had a student do a protype software PCB in MacApp and tried
- to get a paper published on the subject, and guess what? A few
- of the referees were really taken with the idea, others said
- so what - everyone's doing this. (Something like the people
- who are now saying so what - OLE is almost the same as
- OpenDoc.) My prototype was not very complete - I didn't have
- a very good model of dynamic linking - but it was prossible
- in principle to paste in editors using ResEdit. I also didn't
- have all the machinery for communication between different
- kinds of objects (parts in OpenDoc terminology). I suppose
- I could have pushed the idea further but I moved on to
- other things.
-
- More recently, I saw an element of the idea in the way
- Claris Works integrated patches of other documents in
- a base document, though without the extensibility. It
- is interesting that a lot of the examples in the OpenDoc
- printed documentation come from Claris Works.
-
- Where does OpenDoc fit into this? A base OpenDoc collection of part
- handlers, ready to have more added to make a useful "application", is
- a software PCB. OpenDoc itself is more like a standard and set of
- tools for creating such PCBs - the software analogue of something like
- PReP.
-
- Any further thoughts on this?
- --
- Philip Machanick philip@cs.wits.ac.za
- Computer Science Department, University of he Witwatesrand
- 2050 Wits, South Africa 27(11)716-3309 fax 339-7965
- (at University of Cape Town until November: 27(21)650-4058)
-
- +++++++++++++++++++++++++++
-
- >From h+@nada.kth.se (Jon W{tte)
- Date: Mon, 22 Aug 1994 14:54:24 +0200
- Organization: Royal Institute of Something or other
-
- In article <nagleCuwyG1.IEJ@netcom.com>,
- nagle@netcom.com (John Nagle) wrote:
-
- >Whatever happened to Apple's SQL interface, anyway? It was in
- >System 7, and optional in 7.1. Is it in 7.5 at all? I was hoping for
- >more data-centered apps, and groupware based on databases.
-
- It's undergone development; they now support ODBC alongside
- with DAL. ODBC is of course a Microsoft standard, but in this
- one case it seems Apple and Microsoft could agree on using the
- same technology...
-
- Of course, doing ODBC -> DAL tranlsation, talking to a DAL
- server that translates into native SQL, and then finally
- getting at the database isn't optimal, performance-wise.
-
- Cheers,
-
- / h+
-
-
- --
- Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
- "Don't Deal with a Dragon."
-
-
- +++++++++++++++++++++++++++
-
- >From sandvik@apple.com (Kent Sandvik)
- Date: Tue, 23 Aug 1994 00:41:13 GMT
- Organization: Dr. Stupid Meets Frankenstein
-
- In article <3378hr$mkp@cs.uct.ac.za>
- philip@cs.uct.ac.za (Philip Machanick) writes:
-
- > In 1987, I started thinking about Brad Cox's Software IC idea -
- > reusable components written in a object-oriented language. His notion
- > was that software should be sold in small reusable units, the way
- > chips are sold.
-
- Jacobson's book "Object Oriented Software Engineering" has a fairly
- good chapter describing all the problems why software reusable
- components never took off in the initial place. The latest Scientific
- American also has an article describing more about the implications. My
- terse comment is: "It's all in the culture, dammit".
-
- One tricky way to bypass such cases is to promote a frame into which
- people could write extensions, and promote the content rather than the
- functionality (Photoshop, Premier, OpenDoc...). Another example of a
- smart content container is QuickTime; it is defined, and it's up to
- developers to write applications and tools that reuse or create content
- (QT). Personally I think this is the way to do rather than forcing
- companies and developers to use pre-defined components that don't do
- the work required, and we are back on the hacking drawing board. And
- we should not lock ourselves to a particular computer language (style
- OLE and vtables).
-
- Anyway, personal and of course politically flavored comments :-).
-
- --Kent
- - -
- Kent Sandvik, sandvik@apple.com
- --Private activities on the net, not related to the company I work for
- --
-
- +++++++++++++++++++++++++++
-
- >From pathak@world.std.com (Heeren H Pathak)
- Date: Tue, 23 Aug 1994 13:26:19 GMT
- Organization: The World Public Access UNIX, Brookline, MA
-
- In article <nagleCuwyG1.IEJ@netcom.com>, John Nagle <nagle@netcom.com> wrote:
- > This assumes you want an editor/document centered world. There
- >are other models, such as a database-centered world. For coordinating
- >the work of multiple people, a database-centered world may be more
- >appropriate.
- >
-
- Believe it or not this is where OpenDoc may really shine.
-
- Despite the blasting of SOM in Jeff Alger's article comparing OpenDoc vs OLE,
- SOM may be the the biggest "enabling " technology of OpenDoc. OpenDoc
- is really an object model on extending SOM. SOM is a technology for
- supporting distributed objects. This happens to be ideal for developing
- object components. SOM is based on a "industry standard" specification
- released by a consoritium called the Object Management Group. There
- are working groups in this consortia that are defining object models and
- frameworks for database systems, collaborative computing, transaction
- processing, etc... As these object models get defined, there is no
- technical reason they could not be adopted by CLI. In fact, CLI has been
- asked to submit OpenDoc as the "standard" for compound documents.
-
- The biggest danger in all of this is the "standard" will be too late. I
- believe this is a real risk. However, I think the OMG has a very early
- start on this technology and has plenty of time to get things done.
-
- Heeren Pathak
-
-
-
- +++++++++++++++++++++++++++
-
- >From Jens Alfke <jens_alfke@powertalk.apple.com>
- Date: Wed, 24 Aug 1994 00:39:33 GMT
- Organization: Apple Computer
-
- 103t_english@west.cscwc.pima.edu writes:
- > Even though I'm not competent to refute any of his observations, I felt
- that
- > the tone of the article was "Microsoft paid me to write this and so I'm
- putting
- > it in the best possible light."
- > Anyone else get this feeling?
-
- I'm obviously not unbiased in this, so I'll skip my own opinions of the
- article; but I can point out that since the publication of said article, the
- author has accepted a position at Microsoft. Draw your own conclusions.
-
- --Jens Alfke jens_alfke@powertalk.apple.com
- "A man, a plan, a yam, a can of Spam ... Bananama!"
-
- +++++++++++++++++++++++++++
-
- >From alger@netcom.com (Jeff Alger)
- Date: Thu, 25 Aug 1994 06:51:41 GMT
- Organization: NETCOM On-line Communication Services (408 261-4700 guest)
-
- OK, I've had enough of this. If you want to disagree with my opinions,
- fine. I have yet to have anyone question items of fact in all of a 6000
- word article which was submitted to both Microsoft and Apple for review
- before publication.
-
- I will say this once and only once because it isn't worth the trouble.
- Until becoming an employee of Microsoft last week, two months after the
- article was completed, I had never accepted a dime from Microsoft nor had
- any business relationship whatsoever, other than asking them for
- information as I would have Apple or any other vendor. I had no interest
- in getting a job with Microsoft or anyone else at the time of writing the
- article. Microsoft approached me AFTER the article was submitted to
- MacTech in final form. I find it highly doubtful that they would have
- been interested in hiring me if my integrity was for sale and I certainly
- would not have been interested in working for a company that would act in
- such an unethical way. At no time was any offer of money or employment
- made in connection with the article.
-
- There are many of you out there that have known me for many years within
- the Mac community - Chairman of MADA for two years, instructor at Apple's
- Developer University, author of a popular book on object-oriented
- development for the Mac, consultant, contributing editor to Frameworks,
- presenter at several WWDC's. My consulting practice has always been built
- on the highest degree of professionalism and integrity and yes, Kent, I
- have dealt with Windows, as well as Mac, mainframe, business process
- reengineering and any other problems my clents have needed help with.
- That is in part why I was chosen to write this article. Certainly that
- was known to Apple when they OK'd me as an independent reviewer of the two
- products.
-
- This sort of mud-slinging has no place in a professional forum. If any of
- you have a problem with my ethics, take it up directly with me; don't drop
- snide observations in a public forum. Those who know me can tell you that
- I will answer any and all questions honestly about my assumptions,
- methodology and motivations in writing the article.
-
- I can be reached either at this email address or at jeffal@microsoft.com.
-
- Regards,
- Jeff Alger
-
- Jens Alfke (jens_alfke@powertalk.apple.com) wrote:
- : 103t_english@west.cscwc.pima.edu writes:
- : > Even though I'm not competent to refute any of his observations, I felt
- : that
- : > the tone of the article was "Microsoft paid me to write this and so I'm
- : putting
- : > it in the best possible light."
- : > Anyone else get this feeling?
-
- : I'm obviously not unbiased in this, so I'll skip my own opinions of the
- : article; but I can point out that since the publication of said article, the
- : author has accepted a position at Microsoft. Draw your own conclusions.
-
- : --Jens Alfke jens_alfke@powertalk.apple.com
- : "A man, a plan, a yam, a can of Spam ... Bananama!"
- --
-
-
- +++++++++++++++++++++++++++
-
- >From hanrek@cts.com (Mark Hanrek)
- Date: 25 Aug 1994 21:08:03 GMT
- Organization: The Information Workshop
-
- > This sort of mud-slinging has no place in a professional forum.
-
- Here! Here!
-
- Everyone deserves respect, and the benefit of the doubt.
-
-
-
- Mark Hanrek
- The Information Workshop
-
- - --------------------------------------------------------------------
- ( And y'all though I was going to point out that csmp is a newsgroup,
- not a forum, dintcha! :)
- >From eric.larson@f620.n2605.z1.fidonet.org (eric larson)
- Subject: Lets talk OpenDoc
- Date: 21 Aug 94 08:27:51 -
- Organization: FidoNet: Shockwave Rider, USR V.Everything +1(908)294-0659
-
- > A more fundamental problem is that all this machinery exists mostly
- > so you can embed different documents in your word processor and still
- > edit them with appropriate tools. It's sort of "Publish and Subscribe,
- > The Next Generation". Yes, you can do other stuff, but the touted
- > advantage is mostly for integrated documents. It's all focused on
- > what documents look like, not what they mean. Is that really worth all
- > this complexity?
-
- One concern I have about this technology is what it is going to do to document
- portability.
-
- +++++++++++++++++++++++++++
-
- >From nagle@netcom.com (John Nagle)
- Date: Mon, 29 Aug 1994 19:04:43 GMT
- Organization: NETCOM On-line Communication Services (408 261-4700 guest)
-
- eric.larson@f620.n2605.z1.fidonet.org (eric larson) writes:
- Nagle wrote:
- > > A more fundamental problem is that all this machinery exists mostly
- > > so you can embed different documents in your word processor and still
- > > edit them with appropriate tools. It's sort of "Publish and Subscribe,
- > > The Next Generation". Yes, you can do other stuff, but the touted
- > > advantage is mostly for integrated documents. It's all focused on
- > > what documents look like, not what they mean. Is that really worth all
- > > this complexity?
- >One concern I have about this technology is what it is going to do to document
- >portability.
-
- Or long-term document integrity. Will you still be able to read
- your document a few years downstream, after all the applications have
- changed? And if you can't, which vendor do you call for help?
-
- And reading a document two decades hence may present real problems.
-
- John Nagle
-
- +++++++++++++++++++++++++++
-
- >From E.J. Draper <draper@utmdacc.mda.uth.tmc.edu>
- Date: 29 Aug 1994 20:29:43 GMT
- Organization: U.T.M.D. Anderson Cancer Center
-
-
- >> > edit them with appropriate tools. It's sort of "Publish and
- Subscribe,
- >> > The Next Generation". Yes, you can do other stuff, but the touted
-
- How many times a day do you use Publish and Subscribe?
-
- The one, and only, application I have for Publish and Subscribe
- technology is checking the amount of vacation hours I've got coming to me
- from the departmental spreadsheet. I use it once a week at the most,
- probably more like once a month.
-
- I can see some interesting applications of OpenDoc technology, but I
- certainly don't feel it's as mind-boggling awesome as the market-droids
- would have us think. What's OpenDoc going to do for me? Does a compiler
- part make sense? How about news reader part? An email part? A PIM part?
- A Resorcerer part? How does OpenDoc improve the way that people work
- with information? Does it make the computer more approachable to novice
- users? What specific problem is it trying to solve?
-
- It seems like the whole OpenDoc paradigm starts breaking down after you
- get past the Graphic+MooV+Text+Spreadsheet model.
-
-
- |E|J- ED DRAPER
- rEpar|D|<- Radiologic/Pathologic Institute
- The University of Texas M.D. Anderson Cancer Center
- draper@utmdacc.mda.uth.tmc.edu
-
- +++++++++++++++++++++++++++
-
- >From nagle@netcom.com (John Nagle)
- Date: Tue, 30 Aug 1994 05:28:45 GMT
- Organization: NETCOM On-line Communication Services (408 261-4700 guest)
-
- E.J. Draper <draper@utmdacc.mda.uth.tmc.edu> writes:
- >It seems like the whole OpenDoc paradigm starts breaking down after you
- >get past the Graphic+MooV+Text+Spreadsheet model.
-
- I think he has a point. I can imagine a CAD system based on this
- approach, where you click on a subassembly to get to the detailed drawings.
- But that doesn't even fit the OpenDoc model, which is 2D, not 3D.
- What, besides embed stuff in word processor documents, is one really likely
- to do with OpenDoc?
-
- By the way, how does OpenDoc do version management?
-
- John Nagle
-
- +++++++++++++++++++++++++++
-
- >From quinlan@kits.sfu.ca (Brian Quinlan)
- Date: 30 Aug 94 07:09:52 GMT
- Organization: Simon Fraser University
-
- E.J. Draper <draper@utmdacc.mda.uth.tmc.edu> writes:
-
- >I can see some interesting applications of OpenDoc technology, but I
- >certainly don't feel it's as mind-boggling awesome as the market-droids
- >would have us think. What's OpenDoc going to do for me? Does a compiler
- >part make sense? How about news reader part? An email part? A PIM part?
- >A Resorcerer part? How does OpenDoc improve the way that people work
- >with information? Does it make the computer more approachable to novice
- >users? What specific problem is it trying to solve?
-
- You could build a development system by have a project manager as the
- base and compiler, interface builders, object browsers, debuggers and
- editors as parts. Notice that Symantic has a project manager and then
- calls the appropriate compiler and editor when they are needed. You
- could have a bases upon which you had a newreader, email and ftp parts.
- Anyone agree with this?
-
-
- +++++++++++++++++++++++++++
-
- >From jdelkins@lilly.com (Joel D. Elkins)
- Date: Tue, 30 Aug 1994 09:39:27 -0600
- Organization: NewMedia, Inc., Indianapolis, IN
-
- In article <33tgfn$r62@oac4.hsc.uth.tmc.edu>, E.J. Draper
- <draper@utmdacc.mda.uth.tmc.edu> wrote:
-
- > I can see some interesting applications of OpenDoc technology, but I
- > certainly don't feel it's as mind-boggling awesome as the market-droids
- > would have us think. What's OpenDoc going to do for me? Does a compiler
- > part make sense? How about news reader part? An email part? A PIM part?
- > A Resorcerer part? How does OpenDoc improve the way that people work
- > with information? Does it make the computer more approachable to novice
- > users? What specific problem is it trying to solve?
-
- And what about client-server based apps, much in use by corporations today,
- for which the "document" paradigm really doesn't apply. Most of
- the c/s apps I've seen are more "forms" based. How will OpenDoc improve
- such apps? Unless it does, I don't see widespread acceptance by corporations
- for their in-house development efforts.
-
- --
- Joel D. Elkins, N5USU | NewMedia, Inc.
- JDElkins@lilly.com | Indianapolis, IN
-
- +++++++++++++++++++++++++++
-
- >From rmah@panix.com (Robert Mah)
- Date: Tue, 30 Aug 1994 12:47:01 -0500
- Organization: One Step Beyond
-
- jdelkins@lilly.com (Joel D. Elkins) wrote:
-
- ) And what about client-server based apps, much in use by corporations
- ) today, for which the "document" paradigm really doesn't apply. Most of
- ) the c/s apps I've seen are more "forms" based. How will OpenDoc improve
- ) such apps? Unless it does, I don't see widespread acceptance by
- ) corporations for their in-house development efforts.
-
- While Apple has emphasised the user interface portion of OpenDoc, the
- "document-centered" model, from my conversations with one of the OpenDoc
- developers at the last MacWorld expo, I firmly beleive that OpenDoc's
- flexible architecture will help corporate developers a great deal.
-
- Aside...
- Q: What is the difference between a "form" and a "document"?
- A: A form only has 1 page, but document's have a lot! :-)
-
- A couple of, not widely talked about, components are integrall here.
- The first is the name space management feature. I guess this is part
- of SOM, but OpenDoc gives you an architecture to wrap your mind around.
- With name space management, you could register a "analysis engine"
- part on one machine, and have documents on another machine access it
- to perform the analysis.
-
- Other parts that could/are being developed include hooks for retreiving
- data from SQL databases, intelligent report writing, etc.
-
- Another problem that OpenDoc will eventually help solve is the dreaded
- "why can't XYZ app do what Excel does?" How many times have you, as a
- in house developer, written a software package only to have the users
- come back asking for features that are found in other commercial packages?
- It may be obvious to us that adding these frills would take too much
- time and cost too much, but it's not obvious to the users. By encouraging
- more vendors to implement a wide variety of parts that can interoperate
- together easily, we'll be able to add these frills at minimal cost.
-
- Personally, I think that OpenDoc could make the creation of special
- purpose software much easier and much more enjoyable.
-
- Cheers,
- Rob
- _____________________________________________________________________
- Robert S. Mah Software Development +1.212.947.6507
- One Step Beyond and Network Consulting rmah@panix.com
-
- +++++++++++++++++++++++++++
-
- >From lentz@rossi.astro.nwu.edu (Robert Lentz)
- Date: 30 Aug 1994 16:45:54 GMT
- Organization: Northwestern University, Evanston, Illinois, USA
-
- In article <33tgfn$r62@oac4.hsc.uth.tmc.edu>,
- E.J. Draper <draper@utmdacc.mda.uth.tmc.edu> wrote:
- >...
- >It seems like the whole OpenDoc paradigm starts breaking down after you
- >get past the Graphic+MooV+Text+Spreadsheet model.
-
- Well, that covers all the basic types which other applications use too.
-
- Let's see: newsreader using a text part for composing messages, same with
- mail program; perhaps sometimes using a WWW part for displaying HTML
- documents, which then uses the text part and any necessary graphics parts
- again...
-
- I think it could go far.
-
- -Robert
- --
- lentz@rossi.astro.nwu.edu http://www.astro.nwu.edu/lentz/plan.html
- "You have to push as hard as the age that pushes against you."
- -Flannery O'Connor
-
- +++++++++++++++++++++++++++
-
- >From nagle@netcom.com (John Nagle)
- Date: Tue, 30 Aug 1994 16:40:42 GMT
- Organization: NETCOM On-line Communication Services (408 261-4700 guest)
-
- quinlan@kits.sfu.ca (Brian Quinlan) writes:
- >You could build a development system by have a project manager as the
- >base and compiler, interface builders, object browsers, debuggers and
- >editors as parts. Notice that Symantic has a project manager and then
- >calls the appropriate compiler and editor when they are needed.
- The whole development environment shouldn't be a structured document,
- but source programs might be. Programs today have parts which are visual
- and parts which are textual, and those parts need to be better connected.
- HyperCard already does this.
-
- >You could have a basis upon which you had a newsreader, email and ftp parts.
- You could, but why would you want to embed those functions in a
- structured document? A document is the wrong metaphor for that collection
- of functions. There's no content in which you're embedding those
- functions. A multiwindow application is more appropriate.
-
- An OpenDoc or OLE-based creation system for multimedia content
- would make sense, but that's an extension of the word processor metaphor.
-
- The whole multi-source document concept is useful, but only for things
- that naturally have a document metaphor.
-
- John Nagle
-
- +++++++++++++++++++++++++++
-
- >From susser@apple.com (Joshua Susser)
- Date: Tue, 30 Aug 1994 17:29:47 GMT
- Organization: Apple Computer - AppleSoft
-
- I'm going to try to respond to several issues raised in this thread, to
- keep the branching factor down. I don't usually have time to do this, but
- since I do, here goes...
-
- eric.larson@f620.n2605.z1.fidonet.org (eric larson) writes:
- > One concern I have about this technology is what it is going to do to
- > document portability.
-
- If anything, OpenDoc should make your documents MORE portable. OpenDoc
- documents will be binary-compatible across all supported platforms. Our
- acid test is being able to open a document on a server from a Mac and a
- Windows machine at the same time, which you should be able to do when we
- ship.
-
- nagle@netcom.com (John Nagle) wrote:
- > Or long-term document integrity. Will you still be able to read
- > your document a few years downstream, after all the applications have
- > changed? And if you can't, which vendor do you call for help?
- >
- > And reading a document two decades hence may present real problems.
-
- I already have this problem. Some documents I have that are only 3 or 4
- years old are suddenly non-readable, because their applications won't run
- on current software, or whatever. But we have factored the architecture
- so that if you don't have an editor for one kind of part in your document,
- you can still open the document and edit the other parts for which you do
- have editors. We also encourage developers to store their parts in
- multiple formats, so that if you don't have an editor for one format, you
- may for another.
-
- I have no idea what the world will be like in 20 years, and neither do
- you. I doubt anyone will be using anything as mundane as compound
- documents by then, so don't worry about it. :-)
-
- nagle@netcom.com (John Nagle) wrote:
- > E.J. Draper <draper@utmdacc.mda.uth.tmc.edu> writes:
- > >It seems like the whole OpenDoc paradigm starts breaking down after you
- > >get past the Graphic+MooV+Text+Spreadsheet model.
- >
- > I think he has a point. I can imagine a CAD system based on this
- > approach, where you click on a subassembly to get to the detailed drawings.
- > But that doesn't even fit the OpenDoc model, which is 2D, not 3D.
- > What, besides embed stuff in word processor documents, is one really likely
- > to do with OpenDoc?
-
- OpenDoc windows and layout objects are 2D, because that's the
- dimensionality of the imaging devices available today (for the most
- part). But we did leave enough room in the API to support 3D parts. It
- should in fact be possible to embed a text part onto the surface of a 3D
- sphere part.
-
- But even without 3D, OpenDoc is suitable for much more than just a
- "Graphic+MooV+Text+Spreadsheet" kind of document. See below.
-
- > By the way, how does OpenDoc do version management?
-
- OpenDoc documents provide a facility for creating a named revision of your
- document called a "draft". Each draft is basically a checkpoint of the
- state of the document. You can create a new draft at any time, have as
- many as you like, open old drafts to compare to newer, etc. Using Bento,
- we can store each draft as a delta on the state of the previous draft, so
- we don't double the size of a document to add a second draft. There's
- lots more about drafts, but you can read the documentation for that.
-
- jdelkins@lilly.com (Joel D. Elkins) wrote:
- > And what about client-server based apps, much in use by corporations today,
- > for which the "document" paradigm really doesn't apply. Most of
- > the c/s apps I've seen are more "forms" based. How will OpenDoc improve
- > such apps? Unless it does, I don't see widespread acceptance by corporations
- > for their in-house development efforts.
-
- Actually, OpenDoc has a great story for in-house MIS types. They have two
- big desires - being able to use COTS (Commercial Off The Shelf) Software,
- and getting a vertical solution for their special needs. Notice these two
- desires are in direct conflict. But with component technology like
- OpenDoc, you can buy a set of COTS part editors and maybe only have to
- write one or two special purpose ones in house. Then create standard
- stationery using these chosen editors, write some scripts to integrate the
- parts functionality, and presto, it's an instant vertical application,
- custom made for your department with mostly COTS components.
-
- As for client-server, OpenDoc supports the concept of what we've been
- calling an "embedded client". Create a part editor that can operate as a
- client for a remote server. Now you have client parts that you can embed
- in your document anywhere you'd like. The state of the part is the query
- rule plus some cached information about the results of the last query.
- When you open the document, push a button, or whatever, the part queries
- the server and then displays the results of the query as its contents. I
- saw a demo yesterday of just such a client part editor written by Oracle
- (it's a demo, not a future product). You could even link a chart part to
- data returned by a query. Apparently this is even more powerful than
- current solutions, as it is much easier to have a document ("solution")
- that interacts with many databases - just create a part for each one.
-
- Other kinds of embedded clients are easily possible. Imagine a stock
- ticker part that gave running price quotes on your 10 favorite stocks.
- Link this to a spreadsheet part to help you compute the net value of your
- portfolio.
-
- A good rule of thumb for what could and should be written as a part editor is:
- "If it has a user interface, it should be a part."
-
- Well, my compile is done, so back to work...
-
- Joshua Susser, Object Contortionist
- Apple Computer - AppleSoft, OpenDoc Engineering
- inet: susser@apple.com | link: susser.j | phone: 408/974-6997
-
- +++++++++++++++++++++++++++
-
- >From h+@nada.kth.se (Jon W{tte)
- Date: Tue, 30 Aug 1994 20:33:09 +0200
- Organization: Royal Institute of Something or other
-
- In article <33tgfn$r62@oac4.hsc.uth.tmc.edu>,
- E.J. Draper <draper@utmdacc.mda.uth.tmc.edu> wrote:
-
- >would have us think. What's OpenDoc going to do for me? Does a compiler
- >part make sense?
-
- Yes; or rather; an IDE is a collection of parts like an editor
- part, a code generator part, a project file part, ...
-
- >How about news reader part?
-
- That's also a collection of an editor part, a news collection
- part, ...
-
- >An email part?
-
- See above.
-
- >users? What specific problem is it trying to solve?
-
- Read the OpenDoc white paper. A simple example:
-
- Your news reader comes with the SimpleText text edittig part.
- Unfortunately, this part does not handle parts larger than 32k,
- so to decode alt.binaries.pictures.erotica.jello, you instead
- use the Alpha text editting part which handles larger
- documents, and write a small script that scans the news
- collection part for multi-part postings, uses Alpha to
- concatenate them, uses the StuffIt mangling part to get an
- image which you display in the JPEGView picture display part.
-
- Cheers,
-
- / h+
-
-
- --
- Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
-
- Reality exists only in your imagination.
-
-
- +++++++++++++++++++++++++++
-
- >From 103t_english@west.cscwc.pima.edu
- Date: 30 Aug 94 11:18:38 MST
- Organization: (none)
-
- In article <nagleCvCwzu.EF2@netcom.com>, nagle@netcom.com (John Nagle) writes:
- > quinlan@kits.sfu.ca (Brian Quinlan) writes:
- >>You could build a development system by have a project manager as the
- >>base and compiler, interface builders, object browsers, debuggers and
- >>editors as parts. Notice that Symantic has a project manager and then
- >>calls the appropriate compiler and editor when they are needed.
- > The whole development environment shouldn't be a structured document,
- > but source programs might be. Programs today have parts which are visual
- > and parts which are textual, and those parts need to be better connected.
- > HyperCard already does this.
- >
- >>You could have a basis upon which you had a newsreader, email and ftp parts.
- > You could, but why would you want to embed those functions in a
- > structured document? A document is the wrong metaphor for that collection
- > of functions. There's no content in which you're embedding those
- > functions. A multiwindow application is more appropriate.
- >
- > An OpenDoc or OLE-based creation system for multimedia content
- > would make sense, but that's an extension of the word processor metaphor.
- >
- > The whole multi-source document concept is useful, but only for things
- > that naturally have a document metaphor.
- >
- > John Nagle
-
- Something that everyone seems to be missing in this discussion:
-
- a while back, the OpenDoc architects had an AOL discussion which was archived.
- >From the archive, I gleaned this interesting tidbit (from memory, sorry):
-
- OpenDoc is robust enough to allow the creation of a Virtual REality where every
- object in the VR is run on its own computer and collated by OpenDoc over the
- network.
-
-
- One would assume that the "document" in this case, would be a set of 3D VR
- glasses or a 3D virtual environment complete with sound effects and tactile
- effects ala high-end flight simulators (and beyond).
-
-
- Given this ability of OpenDoc, what CAN'T it do?
-
-
-
- Lawson
-
- +++++++++++++++++++++++++++
-
- >From E.J. Draper <draper@utmdacc.mda.uth.tmc.edu>
- Date: 30 Aug 1994 18:47:40 GMT
- Organization: U.T.M.D. Anderson Cancer Center
-
-
- >If anything, OpenDoc should make your documents MORE portable. OpenDoc
- >documents will be binary-compatible across all supported platforms.
-
- Bento, and not OpenDoc, is the technology that will enable us to do this.
- Bento can be used quite easily by software other than OpenDoc parts.
-
- >Actually, OpenDoc has a great story for in-house MIS types.
-
- Wrong. Users who *do not* build *DOCUMENTS* will be annoyed at having to
- artificially create documents and incorporate parts just to get something
- done. The result of every human-machine interaction is *not* a document.
- OpenDoc is an interesting and useful addition to the concept of building
- documents, but it's only interesting and useful in those terms.
-
- OLE has been around for quite some time and what has the industry
- learned? How many people are using OLE in mission critical applications
- every day? How many people are out there screaming for OLE versions of
- Doom and Netware Client tools?
-
- >A good rule of thumb for what could and should be written as a part
- editor is:
- >"If it has a user interface, it should be a part."
-
- I vehemently disagree.
-
-
- |E|J- ED DRAPER
- rEpar|D|<- Radiologic/Pathologic Institute
- The University of Texas M.D. Anderson Cancer Center
- draper@utmdacc.mda.uth.tmc.edu
-
- +++++++++++++++++++++++++++
-
- >From tbrown@magnus.acs.ohio-state.edu (Ted C Brown)
- Date: 30 Aug 1994 19:15:12 GMT
- Organization: The Ohio State University
-
- In article <33vno2$gco@news.acns.nwu.edu>,
- Robert Lentz <lentz@rossi.astro.nwu.edu> wrote:
- >In article <33tgfn$r62@oac4.hsc.uth.tmc.edu>,
- >E.J. Draper <draper@utmdacc.mda.uth.tmc.edu> wrote:
- >>...
- >>It seems like the whole OpenDoc paradigm starts breaking down after you
- >>get past the Graphic+MooV+Text+Spreadsheet model.
- >
- >Well, that covers all the basic types which other applications use too.
- >
- >Let's see: newsreader using a text part for composing messages, same with
- >mail program; perhaps sometimes using a WWW part for displaying HTML
- >documents, which then uses the text part and any necessary graphics parts
- >again...
-
- Having the "display HTML" part available would make any text editor closer
- to a graphical HTML editor. All the "Helper" apps would fold within
- the document as well (but there isn't much gain here). Sure make it
- easier to add the option-click on URL in Newswatcher though.
-
- Also, having all the parts work within OpenDoc makes it easier to have a
- central point that all such apps go to get user information. No more
- constant filling out email/server names for each new net application that
- is installed. I know this could be done some other way -- but it seems it
- would be simple in OpenDoc. The OpenDoc method might allow two people to
- have open connects at the same time, something you can't do currently with
- net packages. If someone else wants to read mail with Eudora on my
- machine, I have to quit Eudora so they can restart it with the proper settings
- file.
-
-
-
- +++++++++++++++++++++++++++
-
- >From edcessna@netcom.com (Edward Cessna)
- Date: Tue, 30 Aug 1994 12:54:59 -0700
- Organization: Disney
-
- > An OpenDoc or OLE-based creation system for multimedia content
- > would make sense, but that's an extension of the word processor metaphor.
- >
- > The whole multi-source document concept is useful, but only for things
- > that naturally have a document metaphor.
-
- This also applies to client/server applications where the data being
- retrieved from a database determines what the user sees on the screen.
-
- > jdelkins@lilly.com (Joel D. Elkins) wrote:
- >
- > Aside...
- > Q: What is the difference between a "form" and a "document"?
- > A: A form only has 1 page, but document's have a lot! :-)
-
- There is a bigger difference between forms and documents: forms have a
- rigid structure whereas documents do not. You can change the structure of
- a document but *not* of a form (I wish I could change the structure of my
- 1040 every April 15--sigh).
-
- You could have a database query part that could be embedded within an
- OpenDoc document. Editing the query part would mean change the query
- statement defined within it. What you would see in the document would be
- the results of the query. As for a database browser as an OpenDoc part, I
- don't believe that this would yield anything meaningful (akin to putting
- the finder in a OpenDoc document?). If anything, a database browser (a
- database application) would end up being an OpenDoc container application.
-
- When I use the term "database browser" I mean an application that could
- visit the various data within a database, allow the user to select
- something and, optionally, modify it. The user would also have the ability
- to delete old information and to insert new information.
-
- I'm not trying to imply that OpenDoc isn't useful to client/server
- applications, I just do not see how the document-centered approach would
- be practical. Other aspect of OpenDoc, like distributive objects, would be
- very useful however.
-
- -- Edward Cessna
- -- Walt Disney Pictures and Television
-
- +++++++++++++++++++++++++++
-
- >From h+@nada.kth.se (Jon W{tte)
- Date: Tue, 30 Aug 1994 22:29:13 +0200
- Organization: Royal Institute of Something or other
-
- In article <jdelkins-3008940939270001@m25567.d51.lilly.com>,
- jdelkins@lilly.com (Joel D. Elkins) wrote:
-
- >And what about client-server based apps, much in use by corporations today,
- >for which the "document" paradigm really doesn't apply. Most of
- >the c/s apps I've seen are more "forms" based. How will OpenDoc improve
- >such apps? Unless it does, I don't see widespread acceptance by corporations
- >for their in-house development efforts.
-
- This is IDEAL for OpenDoc; you'd make forms as stationery of
- linked parts with AppleScript as the glue in the middle.
- Because you then can make a form of ANYTHING, you gain instant
- multimedia forms!
-
- Cheers,
-
- / h+
-
-
- --
- Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
-
- Reality exists only in your imagination.
-
-
- +++++++++++++++++++++++++++
-
- >From E.J. Draper <draper@utmdacc.mda.uth.tmc.edu>
- Date: 30 Aug 1994 20:51:18 GMT
- Organization: U.T.M.D. Anderson Cancer Center
-
-
- >That's also a collection of an editor part, a news collection
- >part, ...
-
- It seems that a great deal of the hype that surrounded AppleEvents before
- the release of System 7 is being recycled in OpenDoc propaganda.
- Everyone heard that they were going to be able to use one spell check
- program for all their needs. They'd also use one graphics program, one
- communications program, etc., etc.. Of course, all these programs were
- going to communicate together to enrich the Macintosh experience and open
- new profit channels for Apple and their developers. So now we've got
- shared libraries and the AppleEvent performance bottleneck is diminished.
- I'm still skeptical ...
-
- >Your news reader comes with the SimpleText text edittig part.
- >Unfortunately, this part does not handle parts larger than 32k,
- >so to decode alt.binaries.pictures.erotica.jello, you instead
- >use the Alpha text editting part which handles larger
- >documents, and write a small script that scans the news
- >collection part for multi-part postings, uses Alpha to
- >concatenate them, uses the StuffIt mangling part to get an
- >image which you display in the JPEGView picture display part.
-
- This solution would be inelegant, overly complex, neophyte hostile, and
- slow. What's so compelling about it?
-
-
- BTW- I did read the OpenDoc white paper.
-
-
- |E|J- ED DRAPER
- rEpar|D|<- Radiologic/Pathologic Institute
- The University of Texas M.D. Anderson Cancer Center
- draper@utmdacc.mda.uth.tmc.edu
-
- +++++++++++++++++++++++++++
-
- >From edcessna@netcom.com (Edward Cessna)
- Date: Tue, 30 Aug 1994 14:21:56 -0700
- Organization: Disney
-
- In article <susser-3008941029470001@susser.apple.com>, susser@apple.com
- (Joshua Susser) wrote:
-
- > Actually, OpenDoc has a great story for in-house MIS types. They have two
- > big desires - being able to use COTS (Commercial Off The Shelf) Software,
- > and getting a vertical solution for their special needs. Notice these two
- > desires are in direct conflict. But with component technology like
- > OpenDoc, you can buy a set of COTS part editors and maybe only have to
- > write one or two special purpose ones in house. Then create standard
- > stationery using these chosen editors, write some scripts to integrate the
- > parts functionality, and presto, it's an instant vertical application,
- > custom made for your department with mostly COTS components.
-
- Interesting concept. So, when the user double-clicks on the stationery, a
- document will be created and they will be able to do their work. Question:
- is the structure of the document fixed? In other words, could the user
- accidentally delete or change one or more of the part editors? If the
- answer is yes, then this is a totally wash-out for our in-house users! We
- would spend more time helping the users and they would get annoyed at
- being able to "destroy" the app.
-
- > As for client-server, OpenDoc supports the concept of what we've been
- > calling an "embedded client". Create a part editor that can operate as a
- > client for a remote server.
-
- This would be great for our in-house developers but not our users!
-
- > A good rule of thumb for what could and should be written as a part editor is:
- > "If it has a user interface, it should be a part."
-
- I wish it was so...
-
- > Well, my compile is done, so back to work...
-
- So quickly? I think I got another 10 minutes to go on my link--sigh.
-
- -- Edward Cessna
- -- Walt Disney Pictures and Television
-
- +++++++++++++++++++++++++++
-
- >From rmah@panix.com (Robert Mah)
- Date: Tue, 30 Aug 1994 17:39:12 -0500
- Organization: One Step Beyond
-
- edcessna@netcom.com (Edward Cessna) wrote:
-
- ) There is a bigger difference between forms and documents: forms have a
- ) rigid structure whereas documents do not. You can change the structure of
- ) a document but *not* of a form (I wish I could change the structure of my
- ) 1040 every April 15--sigh).
- )
- ) You could have a database query part that could be embedded within an
- ) OpenDoc document. Editing the query part would mean change the query
- ) ...
-
- I think you're putting too much emphasis on the term "document" here.
- Nothing in OpenDoc says that the user _must_ be able to manipulate the
- layout of the individual parts in a document/form.
-
- That is dependent upon a piece of software called something like the
- "framework" or "layout" app. You could easily, create a "forms" based
- part layout application that prevented the user from modifing the
- underlying part layout/structure.
-
- Cheers,
- Rob
- _____________________________________________________________________
- Robert S. Mah Software Development +1.212.947.6507
- One Step Beyond and Network Consulting rmah@panix.com
-
- +++++++++++++++++++++++++++
-
- >From afcjlloyd@aol.com (AFC JLloyd)
- Date: 30 Aug 1994 17:40:02 -0400
- Organization: America Online, Inc. (1-800-827-6364)
-
- In article <33vusc$n5d@oac4.hsc.uth.tmc.edu>, E.J. Draper
- <draper@utmdacc.mda.uth.tmc.edu> writes:
-
- >>Actually, OpenDoc has a great story for in-house MIS types.
- >
- >Wrong. Users who *do not* build *DOCUMENTS* will be annoyed at having to
- >artificially create documents and incorporate parts just to get something
- >done. The result of every human-machine interaction is *not* a document.
- >OpenDoc is an interesting and useful addition to the concept of building
- >documents, but it's only interesting and useful in those terms.
-
- Perhaps the term "document" is misleading you. If you grok
- object-oriented programming, substitute the concept "object" for a while.
- In its most basic definition, an "object" is something that has state,
- behavior, and identity (see Booch, Object Oriented Design). A document,
- while on disk, is simply state and identity. When the document is opened,
- OpenDoc dynamically binds the state to a part editor, which provides the
- behavior. A stationery document, by the way, is like a class -- a
- template for instantiating objects with default state.
-
- If you think in these more generic terms, I expect many of your objections
- will disappear. In all human-machine interaction, the machine is
- displaying some visual representation for some state. If you're concerned
- that OpenDoc won't work for things like databases because the database
- records can't be placed in Bento containers, then you just need to
- consider that the state stored in the Bento containers might be simply a
- "pointer" (or query, etc.) to where the data is actually stored. This
- results in "dynamically updated" objects -- the query doesn't change by
- the answer does. Document's like this will need to have a piece of state
- that says how often the query should be repeated in order to keep the
- displayed data up to date.
-
- >OLE has been around for quite some time and what has the industry
- >learned? How many people are using OLE in mission critical applications
- >every day? How many people are out there screaming for OLE versions of
- >Doom and Netware Client tools?
-
- You're right. No one is screaming for OLE or OpenDoc tools. This doesn't
- mean users won't very much appreciate (and ultimately demand) these kinds
- of tools, once they are done right. As I recall, most DOS users weren't
- screaming for GUI's until well after Microsoft did their third iteration
- of attempting to copy the Macintosh. Users don't usually scream for a
- solution, they just grumble about problems. However, once they see a good
- solution, they will generally scream if they aren't allowed to use the
- solution. This is even true of DOS users, they're just a bit slow ;-).
-
- >
- >>A good rule of thumb for what could and should be written as a part
- >editor is:
- >>"If it has a user interface, it should be a part."
- >
- >I vehemently disagree.
-
- Not everything that has a user interface *should* be made into a part, but
- just about anything with a UI *could* be made into a part, and doing so
- would provide a lot of flexibility that currently doesn't exist. As in
- all engineering endeavors, one should do a costs/benefits analysis first.
-
- Jim Lloyd
- afcjlloyd@aol.com -or- Jim_Lloyd@powertalk.apple.com
-
-
-
- +++++++++++++++++++++++++++
-
- >From afcjlloyd@aol.com (AFC JLloyd)
- Date: 30 Aug 1994 20:53:02 -0400
- Organization: America Online, Inc. (1-800-827-6364)
-
- In article <340646$o0q@oac4.hsc.uth.tmc.edu>, E.J. Draper
- <draper@utmdacc.mda.uth.tmc.edu> writes:
-
- >>That's also a collection of an editor part, a news collection
- >>part, ...
- >
- >It seems that a great deal of the hype that surrounded AppleEvents before
- >the release of System 7 is being recycled in OpenDoc propaganda.
- >Everyone heard that they were going to be able to use one spell check
- >program for all their needs. They'd also use one graphics program, one
- >communications program, etc., etc.. Of course, all these programs were
- >going to communicate together to enrich the Macintosh experience and open
- >new profit channels for Apple and their developers. So now we've got
- >shared libraries and the AppleEvent performance bottleneck is diminished.
- > I'm still skeptical ...
-
- When new technologies are introduced, the "vision" of the "visionaries"
- who create the technology has to be communicated. Visionaries aren't
- perfect, they will often be wrong in the details, even if they are right
- in the generalities. So what if we don't yet have a universal spelling
- checker? It may still happen, and it may not. AppleEvents has already
- resulted in a lot of value, and is an enabling technology that will only
- become more important over time. If you feel bitter because of hype that
- hasn't become true, I suggest you develop your ability to read between the
- lines when presented with hype.
-
- >>Your news reader comes with the SimpleText text edittig part.
- >>Unfortunately, this part does not handle parts larger than 32k,
- >>so to decode alt.binaries.pictures.erotica.jello, you instead
- >>use the Alpha text editting part which handles larger
- >>documents, and write a small script that scans the news
- >>collection part for multi-part postings, uses Alpha to
- >>concatenate them, uses the StuffIt mangling part to get an
- >>image which you display in the JPEGView picture display part.
- >
- >This solution would be inelegant, overly complex, neophyte hostile, and
- >slow. What's so compelling about it?
-
- I won't comment on something as subjective as "elegance".
-
- The solution may be "complex", but a lot is happening. If a specific
- complex problem can be solved by breaking it down into subproblems that
- can each be solved with off-the-shelf parts, then complexity is reduced,
- not increased.
-
- Requiring a neophyte to do the above from scratch would certainly be
- hostile, but if you provide that neophyte with a previously prepared
- stationery document, it should be no more hostile than a traditional
- solution for this kind of application.
-
- Finally, why should the above be slow? Almost all of the computation is
- I/O bound. The slowest part of the implementation would be the execution
- speed of the scripts, and this would be dominated by the I/O.
-
- Jim Lloyd
- afcjlloyd@aol.com -or- Jim_Lloyd@powertalk.apple.com
-
-
- +++++++++++++++++++++++++++
-
- >From gurgle@dnai.com (Pete Gontier)
- Date: Tue, 30 Aug 1994 19:13:38 -0800
- Organization: Integer Poet Software
-
- In article <340646$o0q@oac4.hsc.uth.tmc.edu>, E.J. Draper
- <draper@utmdacc.mda.uth.tmc.edu> wrote:
-
- > So now we've got shared libraries and the AppleEvent performance
- > bottleneck is diminished. I'm still skeptical ...
-
- Do you believe it's the case that AppleEvents and AppleScript haven't
- happened according to the hype because of the performance overhead
- associated with AppleEvents? If so, I urge you to figure out exactly how
- to write an OSA-compliant app without attending a class at Apple DU. It
- takes a long time, and that's if you're actually enthusiastic enough about
- the ideas to try hard. It's not that the concepts are overly confusing;
- the documentation simply isn't good. There are other problems (for example
- the lack of compile-time type-checking when building AppleEvents and
- Object Specifiers), but the problem is certainly not performance.
-
- --
- Pete Gontier // CTO, Integer Poet Software // gurgle@dnai.com
-
- "Even during a particularly harsh (Colorado) winter... many of the
- 300 families in the VCTV (movies-on-demand) trial continued to go
- to video stores." -- eis@murrow.tufts.edu, in Wired 2.09 p62
-
- +++++++++++++++++++++++++++
-
- >From Bruce@hoult.actrix.gen.nz (Bruce Hoult)
- Date: Wed, 31 Aug 1994 13:18:42 +1200 (NZST)
- Organization: (none)
-
- E.J. Draper <draper@utmdacc.mda.uth.tmc.edu> writes:
- > >> > edit them with appropriate tools. It's sort of "Publish and Subscribe,
- > >> > The Next Generation". Yes, you can do other stuff, but the touted
- >
- > How many times a day do you use Publish and Subscribe?
- >
- > The one, and only, application I have for Publish and Subscribe
- > technology is checking the amount of vacation hours I've got coming to me
- > from the departmental spreadsheet. I use it once a week at the most,
- > probably more like once a month.
-
- You might not use publish&subscribe. I know that, as a programmer, doing
- programmer things, I don't.
-
- But in the office I support, there is a huge structure of linked spreadsheets,
- graphics documents and word processing documents, all linked together by
- publish&subscribe.
-
- Eventually, we'd like to have all this managed by a proper database system,
- but for now Publish&subscribe is a huge improvement over the alternatives,
- even if the performance does stink (especially in Excel).
-
- -- Bruce
-
- +++++++++++++++++++++++++++
-
- >From scouten@uiuc.edu (Eric Scouten)
- Date: Tue, 30 Aug 1994 23:49:14 -0500
- Organization: University of Illinois
-
- In article <edcessna-3008941421560001@153.7.11.4>, edcessna@netcom.com
- (Edward Cessna) wrote:
-
- > In article <susser-3008941029470001@susser.apple.com>, susser@apple.com
- > (Joshua Susser) wrote:
- >
- > > Actually, OpenDoc has a great story for in-house MIS types.
- >
- > Interesting concept. So, when the user double-clicks on the stationery, a
- > document will be created and they will be able to do their work. Question:
- > is the structure of the document fixed? In other words, could the user
- > accidentally delete or change one or more of the part editors? If the
- > answer is yes, then this is a totally wash-out for our in-house users! We
- > would spend more time helping the users and they would get annoyed at
- > being able to "destroy" the app.
-
- I believe in the OpenDoc white paper, there's a section on "access
- control" that addresses just this issue. Can't remember exactly how it's
- implemented, but I don't think the system is as naive as you have
- suggested.
-
- -Eric
-
- __________________________________________________________________________
- Eric Scouten <scouten@uiuc.edu> * MS Comp Sci, Univ of Illinois
-
- The Pledge of Allegiance says, "liberty and justice for all."
- Which part of "all" don't you understand?
- -Rep. Pat Schroeder
-
- +++++++++++++++++++++++++++
-
- >From quinlan@kits.sfu.ca (Brian Quinlan)
- Date: 31 Aug 94 06:20:31 GMT
- Organization: Simon Fraser University
-
- nagle@netcom.com (John Nagle) writes:
-
- > The whole development environment shouldn't be a structured document,
- >but source programs might be. Programs today have parts which are visual
- >and parts which are textual, and those parts need to be better connected.
- >HyperCard already does this.
-
- I'll have to disagree here. I would love to see my program as a flowchart,
- object relation diagram or dataflow diagram. When I click on a box
- representing an object, method or function I would get an editor. It could
- click on a line and get an interface editor.
-
- > You could, but why would you want to embed those functions in a
- >structured document? A document is the wrong metaphor for that collection
- >of functions. There's no content in which you're embedding those
- >functions. A multiwindow application is more appropriate.
-
- Your right, I was grasping at straws here.
-
- > An OpenDoc or OLE-based creation system for multimedia content
- >would make sense, but that's an extension of the word processor metaphor.
-
- True, it is most easy to see the benifits for a word processor but
- I think it would be helpful in other situations as well. I think that
- for OpenDoc to be usefull you need to be working on some sort of document.
- When programming you do use documents (rez, source, etc.) and you could
- use OpenDoc to integrate these parts into a unified whole.
-
- > The whole multi-source document concept is useful, but only for things
- >that naturally have a document metaphor.
-
- I wish I had read this more carefully before making my last comment!
-
-
- +++++++++++++++++++++++++++
-
- >From hanrek@cts.com (Mark Hanrek)
- Date: 31 Aug 1994 09:23:21 GMT
- Organization: The Information Workshop
-
- In article <gurgle-3008941913380001@gurgle.dnai.com>, gurgle@dnai.com
- (Pete Gontier) wrote:
-
- > Do you believe it's the case that AppleEvents and AppleScript haven't
- > happened according to the hype because of the performance overhead
- > associated with AppleEvents? If so, I urge you to figure out exactly how
- > to write an OSA-compliant app without attending a class at Apple DU. It
- > takes a long time, and that's if you're actually enthusiastic enough about
- > the ideas to try hard. It's not that the concepts are overly confusing;
- > the documentation simply isn't good. There are other problems (for example
- > the lack of compile-time type-checking when building AppleEvents and
- > Object Specifiers), but the problem is certainly not performance.
-
-
- Pete,
-
- I agree 100%, as someone who has spent a good deal of time with those subjects.
-
- There is a "difficulty barrier" in assimilating the AE/AS technologies
- which need not exist. There could easily be certain materials and/or
- utilities that would help make Apple events and related subjects easy to
- deal with.
-
- These technologies have now become "fundamental" and "required".
-
- Hopefully Apple will be able to help turn this molasses back into water.
-
- I get the feeling that it is just a matter of time until this boil will
- need to be lanced.
-
-
- - ---- Visibility
-
- I believe "visibility" is one leveraged key to success here.
-
- If we had doohickies that showed Apple events moving around, allowed us to
- examine them as AEGizmo-like things on screen, and had materials that made
- clear the relationships between AppleScript statements, aete resources,
- and object accessors, kinda thing, there'd likely be a lot more happening.
-
- Extrapolating from the past, it will probably be some time before there
- any new relief here from Apple. This topic could have been clarified years
- ago.
-
- If only we [the development community] had the ability to "turn up the
- volume" with these technologies ourselves.
-
-
- - ---- Interesting Alternative
-
- One major event which has yet to happen is for the Macintosh Development
- Community to organize itself, and consequently have for the first time the
- realistic opportunity to "see to some of its own needs", drawn from its
- own resources.
-
- In many instances, it is not appropriate to expect that Apple is supposed
- to provide a solution, or even to have an accurate perception of its
- development community. We accidentally think Apple should solve our
- problems or understand us because we are generally powerless to do
- anything beyond what our spare time will allow.
-
- But the organized spare time of 10 programmers can accomplish some
- significant things. Or a seed planted by one programmer, and refined 10
- times over.
-
- Unfortunately, the event of us organizing ourselves won't likely be able
- to occur until true electronic forums are available on the Internet.
- Forums provide the means of easily developing consensus, electing
- leadership or an agenda, and facilitating collaboration, among other
- essentials.
-
- There's that "forum" word again. Interesting, eh?
-
- :) :)
-
- Mark "a-newsgroup-is-not-a-forum" Hanrek
- The Information Workshop
-
- +++++++++++++++++++++++++++
-
- >From sw@network-analysis-ltd.co.uk (Sak Wathanasin)
- Date: Wed, 31 Aug 94 09:57:57 BST
- Organization: Network Analysis Ltd
-
-
- In article <nagleCvCwzu.EF2@netcom.com> (comp.sys.mac.programmer), nagle@netcom.com (John Nagle) writes:
- > >You could have a basis upon which you had a newsreader, email and ftp parts.
- > You could, but why would you want to embed those functions in a
- > structured document? A document is the wrong metaphor for that collection
-
- I'd have thought it would be the other way round - the doucment would
- be in the mail or news article. Or better, the mail message or news
- article would be the document. That's the way it worked with Xerox
- Viewpoint - when you got something in the mailbox, you opened it and
- there would (sometimes) be a header part and the rest would be the
- document. You didn't have to save an attachment or anything; it could
- be dragged on to the desktop and operated on as a normal WP document.
-
- Xerox VP had quite a few of the OpenDoc ideas implemented (although OD
- goes much further, of course). Appl-centric and doc-centric objects can
- co-exist quite happily. Or at least I didn't go around clutching my
- head screaming "Oh, my God! Is that an appl or document object?" I just
- double-clicked on it and went about my business...
-
-
- Sak Wathanasin
- Network Analysis Limited
- 178 Wainbody Ave South, Coventry CV3 6BX, UK
-
- Internet: sw@network-analysis-ltd.co.uk
- uucp: ...!uknet!nan!sw AppleLink: NAN.LTD
- Phone: (+44) 203 419996 Mobile:(+44) 850 587411 Fax: (+44) 203 690690
-
- +++++++++++++++++++++++++++
-
- >From h+@nada.kth.se (Jon W{tte)
- Date: Wed, 31 Aug 1994 12:07:57 +0200
- Organization: Royal Institute of Something or other
-
- In article <edcessna-3008941421560001@153.7.11.4>,
- edcessna@netcom.com (Edward Cessna) wrote:
-
- >is the structure of the document fixed? In other words, could the user
-
- Yes; you can lock the frames of parts in OpenDoc compound
- documents. This is in the white paper.
-
- Cheers,
-
- / h+
-
-
- --
- Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
-
- Reality exists only in your imagination.
-
-
- +++++++++++++++++++++++++++
-
- >From h+@nada.kth.se (Jon W{tte)
- Date: Wed, 31 Aug 1994 12:07:59 +0200
- Organization: Royal Institute of Something or other
-
- In article <340646$o0q@oac4.hsc.uth.tmc.edu>,
- E.J. Draper <draper@utmdacc.mda.uth.tmc.edu> wrote:
-
- >This solution would be inelegant, overly complex, neophyte hostile, and
- >slow. What's so compelling about it?
-
- The neophyte buys a pre-configured stationery/part editor
- bundle that behaves as an integrated whole.
-
- The non-neophyte can go in and change whatever he wants in the
- bundle to make it fit his needs.
-
- The information systems people in an organization can use
- off-the-shelf parts and their own custom glue to create needed
- applications.
-
- Cheers,
-
- / h+
-
-
- --
- Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
-
- Reality exists only in your imagination.
-
-
- +++++++++++++++++++++++++++
-
- >From philip@cs.wits.ac.za (Philip Machanick)
- Date: 31 Aug 1994 13:05:05 GMT
- Organization: Computer Science Dept, U of Witwatersrand
-
- In article <33tgfn$r62@oac4.hsc.uth.tmc.edu>, E.J. Draper
- <draper@utmdacc.mda.uth.tmc.edu> wrote:
-
- > I can see some interesting applications of OpenDoc technology, but I
- > certainly don't feel it's as mind-boggling awesome as the market-droids
- > would have us think. What's OpenDoc going to do for me? Does a compiler
- > part make sense? How about news reader part? An email part? A PIM part?
-
- Compiler makes sense - but you are not trying to think of where the
- "document" comes in. Look at something like CodeWarrior or ThinkC. Each
- item in the project file is a part. You can open it to a window, you can
- drag it around in the project. Cut, copy, paste are less obvious - maybe
- there is use for these.
-
- News reader the same thing. A newsreader consists of a number of documents
- with different behaviours. If you don't use NewsWatcher you may not see
- the possibilities. NewsWatcher has features like extract binhex, fetch ftp
- from reference in article etc. Such things could be added as new
- behaviours in a news document. On the other hand some web viewers allow
- you to retrieve news articles. OpenDoc could make for much more seemless
- integration of all these things. Imagine: a different part handler for
- each kind of URL.
-
- > A Resorcerer part? How does OpenDoc improve the way that people work
- > with information? Does it make the computer more approachable to novice
- > users? What specific problem is it trying to solve?
-
- It's trying to solve the problem of the monolith application. All these
- people who are compaining that the Mac doesn't have proper protection etc.
- are right, only they are too late. The application of today is bigger and
- more complex than the operating system of the time when schedulers, paging
- etc. were invented (VM goes back to the 1950s). What is needed now is a
- way of putting together complex behaviour in smaller packages. Look up
- Brad Cox's book on software ICs (I forget the title). OpenDoc is a
- framework for plugging together software ICs - call it a software PCB. Not
- that protection etc. should not be addressed - but _only_ adding
- protection and pre-emption would give us a good 1970s OS without
- addressing the monolithic app problem. With a good OS underneath it
- OpenDoc could turn out to be a dinosaur killer.
-
- The underlying idea is not new. The Xerox Star was programmed like this
- and Apple has some of the people who were at Parc at the time pushing it
- along.
-
- > It seems like the whole OpenDoc paradigm starts breaking down after you
- > get past the Graphic+MooV+Text+Spreadsheet model.
-
- It breaks down when you can't conceive of what you are doing as
- manipulating a document. The same thing was true of understanding why
- windowed interfaces are better than command line interfaces. Some people
- still don't get it :( but some of us are very happy programming in
- windowed environments like CodeWarrior.
- --
- Philip Machanick philip@cs.wits.ac.za
- Department of Computer Science, University of the Witwatersrand
- 2050 Wits, South Africa (at University of Cape Town 4 July-7 Nov)
- phone 27(11)716-3309 fax 27(11)339-7965
-
- +++++++++++++++++++++++++++
-
- >From philip@cs.wits.ac.za (Philip Machanick)
- Date: 31 Aug 1994 13:14:39 GMT
- Organization: Computer Science Dept, U of Witwatersrand
-
- In article <nagleCvC1vy.LGI@netcom.com>, nagle@netcom.com (John Nagle) wrote:
- >
- > I think he has a point. I can imagine a CAD system based on this
- > approach, where you click on a subassembly to get to the detailed drawings.
- > But that doesn't even fit the OpenDoc model, which is 2D, not 3D.
- > What, besides embed stuff in word processor documents, is one really likely
- > to do with OpenDoc?
-
- Embed word processing in graphics documents :) In what sense are you
- saying OpenDoc is 2D? It is based on frames which can have an arbitrary
- shape so I suppose there is potentially a problem implementing a part
- picker that is aware of depth. It is possible this could be layered on top
- of the model of passing messages to contained parts. Maybe someone who has
- gone further into detail could answer this.
-
- > By the way, how does OpenDoc do version management?
-
- At some point in the history of a document you can start a new edition,
- and go back to previous editions.
-
- Since there is supposed to be support for cross-platform collaborative
- editing, there ought to be more sophisticated features, but I have seen
- nothing about this.
-
- There are a lot of potential problems with OpenDoc but it is a real
- attempt at rethinking the document-application relationship. I would like
- to see how it develops. I'm less sure about all the weird infrastructure
- it's being pinned onto though - a good simple kernel plus an
- object-oriented language with better dynamic binding than C++ would have
- been a better start.
- --
- Philip Machanick philip@cs.wits.ac.za
- Department of Computer Science, University of the Witwatersrand
- 2050 Wits, South Africa (at University of Cape Town 4 July-7 Nov)
- phone 27(11)716-3309 fax 27(11)339-7965
-
- +++++++++++++++++++++++++++
-
- >From lentz@rossi.astro.nwu.edu (Robert Lentz)
- Date: 31 Aug 1994 14:40:12 GMT
- Organization: Northwestern University, Evanston, Illinois, USA
-
- In article <340k9e$mdv@search01.news.aol.com>,
- AFC JLloyd <afcjlloyd@aol.com> wrote:
- >...
- >When new technologies are introduced, the "vision" of the "visionaries"
- >who create the technology has to be communicated. Visionaries aren't
- >perfect, they will often be wrong in the details, even if they are right
- >in the generalities. So what if we don't yet have a universal spelling
- >checker? It may still happen, and it may not. AppleEvents has already
- >resulted in a lot of value, and is an enabling technology that will only
- >become more important over time. If you feel bitter because of hype that
- >hasn't become true, I suggest you develop your ability to read between the
- >lines when presented with hype.
- >...
-
- And complain to those developers that have not seen the light. Would it not
- be nice to be able to ask Word to spell check a document for you?
-
- -Robert
- --
- lentz@rossi.astro.nwu.edu http://www.astro.nwu.edu/lentz/plan.html
- "You have to push as hard as the age that pushes against you."
- -Flannery O'Connor
-
-
- +++++++++++++++++++++++++++
-
- >From Jaeger@fquest.com (Brian Stern)
- Date: 31 Aug 1994 15:24:32 GMT
- Organization: The University of Texas at Austin, Austin, Texas
-
- In article <hanrek-3108940225330001@auke.cts.com>, hanrek@cts.com (Mark
- Hanrek) wrote:
-
-
- < ------ Interesting Alternative
- <
- < One major event which has yet to happen is for the Macintosh Development
- < Community to organize itself, and consequently have for the first time the
- < realistic opportunity to "see to some of its own needs", drawn from its
- < own resources.
-
- You're right, we're not organized.
-
- < In many instances, it is not appropriate to expect that Apple is supposed
- < to provide a solution, or even to have an accurate perception of its
- < development community. We accidentally think Apple should solve our
- < problems or understand us because we are generally powerless to do
- < anything beyond what our spare time will allow.
-
- Yes, Apple does what it wants, what it has resources to do, and what it
- *thinks* we want.
-
- < But the organized spare time of 10 programmers can accomplish some
- < significant things. Or a seed planted by one programmer, and refined 10
- < times over.
-
- Absoluteley.
-
- < Unfortunately, the event of us organizing ourselves won't likely be able
- < to occur until true electronic forums are available on the Internet.
- < Forums provide the means of easily developing consensus, electing
- < leadership or an agenda, and facilitating collaboration, among other
- < essentials.
- <
- < There's that "forum" word again. Interesting, eh?
- <
-
- Here's where you lose me. What does a forum have that a newsgroup doesn't
- have? Don't tell me archiving of every message because most of what's
- posted here does not deserve to be saved for posterity. If you want
- something you have to ask for it. And in a way that people understand
- what it is that you're asking for.
-
- I agree with you that the tools available and information available to us
- are often inadequate. Discussing that in this forum (sorry) is one way of
- letting the tool/information providers know what we want. If you want
- something from the programming community this also a good place for
- discussion of that. My question is: What do you want?
-
- < :) :)
- <
- < Mark "a-newsgroup-is-not-a-forum" Hanrek
- < The Information Workshop
-
- --
- Brian Stern :-{)}
- Jaeger@fquest.com
-
- +++++++++++++++++++++++++++
-
- >From 103t_english@west.cscwc.pima.edu
- Date: 31 Aug 94 15:29:30 MST
- Organization: (none)
-
- In article <Jaeger-3108941026460001@slip-1-36.ots.utexas.edu>, Jaeger@fquest.com (Brian Stern) writes:
- > In article <hanrek-3108940225330001@auke.cts.com>, hanrek@cts.com (Mark
- > Hanrek) wrote:
- >
- >
- > < ------ Interesting Alternative
- > < There's that "forum" word again. Interesting, eh?
- > <
-
- I think that Mark is hinting at a commercial project that he is working on, and
- many of his posts, while they are valid, are simply an attempt to steer folks
- to the conclusion that something remarkably similar to what he is planning on
- marketing, is actually a good idea and that they would buy it.
-
- I don't know if I am correct or not, but it feels this way to me.
-
- Personally, I think it a REALLY GOOD marketing ploy if I am correct.
-
- >
- > Here's where you lose me. What does a forum have that a newsgroup doesn't
- > have? Don't tell me archiving of every message because most of what's
- > posted here does not deserve to be saved for posterity. If you want
- > something you have to ask for it. And in a way that people understand
- > what it is that you're asking for.
- >
- > I agree with you that the tools available and information available to us
- > are often inadequate. Discussing that in this forum (sorry) is one way of
- > letting the tool/information providers know what we want. If you want
- > something from the programming community this also a good place for
- > discussion of that. My question is: What do you want?
- >
- > < :) :)
- > <
- > < Mark "a-newsgroup-is-not-a-forum" Hanrek
- > < The Information Workshop
- >
- > --
- > Brian Stern :-{)}
- > Jaeger@fquest.com
-
-
-
- Lawson
-
- +++++++++++++++++++++++++++
-
- >From nagle@netcom.com (John Nagle)
- Date: Thu, 1 Sep 1994 05:14:15 GMT
- Organization: NETCOM On-line Communication Services (408 261-4700 guest)
-
- philip@cs.wits.ac.za (Philip Machanick) writes:
- >It's trying to solve the problem of the monolith application. All these
- >people who are compaining that the Mac doesn't have proper protection etc.
- >are right, only they are too late. The application of today is bigger and
- >more complex than the operating system of the time when schedulers, paging
- >etc. were invented (VM goes back to the 1950s). What is needed now is a
- >way of putting together complex behaviour in smaller packages. Look up
- >Brad Cox's book on software ICs (I forget the title). OpenDoc is a
- >framework for plugging together software ICs - call it a software PCB. Not
- >that protection etc. should not be addressed - but _only_ adding
- >protection and pre-emption would give us a good 1970s OS without
- >addressing the monolithic app problem. With a good OS underneath it
- >OpenDoc could turn out to be a dinosaur killer.
-
- PenPoint had the right idea on this. It's worth looking at how
- PenPoint worked internally. Forget about the pen stuff (PenPoint was the
- OS for the now-defunct EO, which failed mostly because a $4000 PDA was
- too expensive); the document model in PenPoint looked good. Like
- OpenDoc, a document appeared as a number of areas on screen, with each
- area maintained by a different application. Unlike OpenDoc, each
- application ran in a separate address space with full protection.
- The notion of "application launch" was eliminated; as you scrolled through
- a document, processes were created and terminated as required.
-
- PenPoint had no installed base with which they had to be compatible,
- so they could use a much simpler architecture. All PenPoint apps are
- derived classes from base classes of the OS. This makes apps much
- smaller and simpler, and enforces standardization. But it's not an
- architecture you can retrofit.
-
- The price we pay for backwards compatibility is seen in the
- complexity of OLE and OpenDoc.
-
- John Nagle
-
- +++++++++++++++++++++++++++
-
- >From h+@nada.kth.se (Jon W{tte)
- Date: Thu, 01 Sep 1994 08:56:19 +0200
- Organization: Royal Institute of Something or other
-
- In article <3424oc$9ba@news.acns.nwu.edu>,
- lentz@rossi.astro.nwu.edu (Robert Lentz) wrote:
-
- >And complain to those developers that have not seen the light. Would it not
- >be nice to be able to ask Word to spell check a document for you?
-
- No, because Word uses Houghton-Mifflin spell checking, which
- you can license yourself. Don't. Their Mac code would compile
- on a 1984 Mac, and that's it. It uses FSOpen(). It uses signed
- chars interchangeably with unsigned chars. Etc.
-
- Their English dictionary is also nothing good unless you buy
- all the extra libraries.
-
- Cheers,
-
- / h+
-
-
- --
- Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
-
- Reality exists only in your imagination.
-
-
- +++++++++++++++++++++++++++
-
- >From philip@cs.uct.ac.za (Philip Machanick)
- Date: 1 Sep 1994 10:08:40 +0200
- Organization: Computer Science Department, University of Cape Town
-
- Just curious.
-
- I wonder how many of the people saying OpenDoc is no good - AAARGH NO!
- IT'S CONFIGURABLE - THE USERS WILL BREAK IT - are the same ones who
- used to run down the Mac because it isn't configurable like X.
-
- I must say though I can have some empathy with this fear having
- wasted large chunks of time trying to make X usable every time I
- move to a new place.
- --
- Philip Machanick philip@cs.wits.ac.za
- Computer Science Department, University of he Witwatesrand
- 2050 Wits, South Africa 27(11)716-3309 fax 339-7965
- (at University of Cape Town until November: 27(21)650-4058)
-
- +++++++++++++++++++++++++++
-
- >From h+@nada.kth.se (Jon W{tte)
- Date: Thu, 01 Sep 1994 14:55:18 +0200
- Organization: Royal Institute of Something or other
-
- In article <nagleCvFqJs.A2x@netcom.com>,
- nagle@netcom.com (John Nagle) wrote:
-
- > The price we pay for backwards compatibility is seen in the
- >complexity of OLE and OpenDoc.
-
- Guess what? In OpenDoc, all applications are subclasses of a
- system class, ODPart to be exact, and all storage is subclasses
- of ODStorageUnit (or whatever) etc. OpenDoc also requires total
- rewrite of everything; it's NOT designed to be backwards
- compatible (which OLE is, to some degree)
-
- However, you're confusing the issues of an application runtime
- architecture with the issues of various OS support. There's no
- reason why OpenDoc parts cannot live in separate protected
- address spaces.
-
- Cheers,
-
- / h+
-
-
- --
- Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
-
- Reality exists only in your imagination.
-
-
- +++++++++++++++++++++++++++
-
- >From nagle@netcom.com (John Nagle)
- Date: Thu, 1 Sep 1994 16:26:12 GMT
- Organization: NETCOM On-line Communication Services (408 261-4700 guest)
-
- >In article <hanrek-3108940225330001@auke.cts.com>, hanrek@cts.com (Mark
- >Hanrek) wrote:
- >< In many instances, it is not appropriate to expect that Apple is supposed
- >< to provide a solution, or even to have an accurate perception of its
- >< development community. We accidentally think Apple should solve our
- >< problems or understand us because we are generally powerless to do
- >< anything beyond what our spare time will allow.
-
- >Yes, Apple does what it wants, what it has resources to do, and what it
- >*thinks* we want.
-
- Apple needs to realize that 1) the development tools for the
- Macintosh are now inferior to those for Windows, and 2) this is Apple's
- problem, whether Apple likes it or not.
-
- John Nagle
-
- +++++++++++++++++++++++++++
-
- >From jonpugh@netcom.com (Jon Pugh)
- Date: Thu, 1 Sep 1994 21:50:31 GMT
- Organization: Will hack for food
-
- John Nagle (nagle@netcom.com) wrote:
-
- > Apple needs to realize that 1) the development tools for the
- > Macintosh are now inferior to those for Windows, and 2) this is Apple's
- > problem, whether Apple likes it or not.
-
- This is off the thread, but I just wanted to refute this statement. We
- have just gone from all Mac development to doing some Windows development
- too. We had heard this line for some time but it does not jibe with our
- experience. We have yet to find a single tool that operates as nicely as
- THINK, CW _or_ MPW. Sure, some are faster, some have cool features, but
- nothing works as well or as integrated. Just trying to write some scripts
- to mimic some of our MPW Projector scripts was a nightmare!
-
- All in all, we should start a different thread and argue about this some
- more. Macintosh development tools are damn nice compared to the mess on
- Windows.
-
- Jon
-
-
- +++++++++++++++++++++++++++
-
- >From bobd@zaphod.UUCP (Bob Dalgleish)
- Date: 2 Sep 94 16:12:19 GMT
- Organization: Develcon Electronics Ltd., Saskatoon, SK, Canada
-
- In article <susser-3008941029470001@susser.apple.com> susser@apple.com (Joshua Susser) writes:
- >nagle@netcom.com (John Nagle) wrote:
- >> E.J. Draper <draper@utmdacc.mda.uth.tmc.edu> writes:
- >> >It seems like the whole OpenDoc paradigm starts breaking down after you
- >> >get past the Graphic+MooV+Text+Spreadsheet model.
- >>
- >> I think he has a point. I can imagine a CAD system based on this
- >> approach, where you click on a subassembly to get to the detailed drawings.
- >> But that doesn't even fit the OpenDoc model, which is 2D, not 3D.
- >> What, besides embed stuff in word processor documents, is one really likely
- >> to do with OpenDoc?
- >
- >OpenDoc windows and layout objects are 2D, because that's the
- >dimensionality of the imaging devices available today (for the most
- >part). But we did leave enough room in the API to support 3D parts. It
- >should in fact be possible to embed a text part onto the surface of a 3D
- >sphere part.
- >
- >But even without 3D, OpenDoc is suitable for much more than just a
- >"Graphic+MooV+Text+Spreadsheet" kind of document. See below.
-
- I started to have a vision. Having followed this thread for awhile, and
- read through the WWDC documentation, installed BBEdit 3.0, Symantec C 7,
- and MW CW, purchased and installed a *very expensive* CASE system, and
- still being faced with elementary problems of envisioning software, I
- started to see a trend.
-
- Software project forms a document (in SC7, this is a project file), to
- which are attached source files, object files, library files, resource
- files, resource source files, and pretty much anything you want. The
- TPM uses the file suffix to assign a "part editor" to each type of file,
- and "does the right thing" at the right time. How does this differ from
- an OpenDoc document with part editors for distinct parts, and a document
- "application" co-ordinating the make process?
-
- Even though we think of source code as a text file, we, in fact, treat
- it as a specialized database of relationships. Witness PopUpFuncs,
- CMaster, ObjectMaster, and other extensions to the basic set of text
- manipulation tools. Someone else has suggested "Could I not see my
- source code as a flow-chart, data-flow chart, decision table, coverage
- checklist?"
-
- The model we already use for software development is that of an OpenDoc
- architecture with only three providers and some hangers-on. A true
- OpenDoc document for a development project would have resource editors,
- text editors, compilers, graphers, analyzers, etc., as part editors that
- could be applied at any time for any purpose that the devious minds of
- developers can come up with.
- >> By the way, how does OpenDoc do version management?
- >
- >OpenDoc documents provide a facility for creating a named revision of your
- >document called a "draft". Each draft is basically a checkpoint of the
- >state of the document. You can create a new draft at any time, have as
- >many as you like, open old drafts to compare to newer, etc. There's
- >lots more about drafts, but you can read the documentation for that.
-
- This is much more sophisticated than Projector or SourceServer or RCS.
- As long as there was a way to get drafts of parts, most programmers
- would be happy to work in such a world.
-
- Any programmer will tell you that comments don't cut it as for
- keeping sufficient information to maintain software, but it is the
- only tool available. New part editors, and ways to co-ordinate them
- may be just the way to do it.
-
- Okay, who's up for writing an OpenDoc document to replace Think C and
- CodeWarrior?
- --
- -- * * * CFV: net.short.signatures * * *--
- Bob Dalgleish zaphod!bobd@tribune.usask.ca CompuServe: 70521,2011
-
- +++++++++++++++++++++++++++
-
- >From will@cs.su.oz.au (William Uther)
- Date: 3 Sep 1994 10:36:00 +1000
- Organization: Basser Dept of Computer Sciece, Uni of Sydney, Australia
-
- In article <5865@zaphod.uucp>, Bob Dalgleish <bobd@zaphod.UUCP> wrote:
- >In article <susser-3008941029470001@susser.apple.com> susser@apple.com (Joshua Susser) writes:
-
- [snip]
-
- >>But even without 3D, OpenDoc is suitable for much more than just a
- >>"Graphic+MooV+Text+Spreadsheet" kind of document. See below.
- >
- >I started to have a vision. Having followed this thread for awhile, and
- >read through the WWDC documentation, installed BBEdit 3.0, Symantec C 7,
- >and MW CW, purchased and installed a *very expensive* CASE system, and
- >still being faced with elementary problems of envisioning software, I
- >started to see a trend.
-
- [snip]
-
- >Even though we think of source code as a text file, we, in fact, treat
- >it as a specialized database of relationships. Witness PopUpFuncs,
- >CMaster, ObjectMaster, and other extensions to the basic set of text
- >manipulation tools. Someone else has suggested "Could I not see my
- >source code as a flow-chart, data-flow chart, decision table, coverage
- >checklist?"
-
- [snip]
-
- >Okay, who's up for writing an OpenDoc document to replace Think C and
- >CodeWarrior?
-
- This sounds very like the Gwydion project CMU are working on (with Apple?).
-
- The WWW page URL is:
- http://legend.gwydion.cs.cmu.edu:8001/gwydion/
-
- They are working on a development environment for Dylan (aka BHS) which
- includes being able view your code as hypertext. They mention version control
- where you can lock functional parts on the program - e.g. if you were changing
- the interface to a function you could lock "this function and all functions
- that reference it". Anyway, have a look the WWW page for more info.
-
- \x/ill :-}
-
-
- +++++++++++++++++++++++++++
-
- >From deanp@zikzak.apana.org.au (Dean Perry)
- Date: 8 Sep 1994 04:45:11 GMT
- Organization: Zikzak public access UNIX, Melbourne Australia
-
- eric larson (eric.larson@f620.n2605.z1.fidonet.org) wrote:
- : > A more fundamental problem is that all this machinery exists mostly
- : > so you can embed different documents in your word processor and still
- : > edit them with appropriate tools. It's sort of "Publish and Subscribe,
- : > The Next Generation". Yes, you can do other stuff, but the touted
- : > advantage is mostly for integrated documents. It's all focused on
- : > what documents look like, not what they mean. Is that really worth all
- : > this complexity?
-
- : One concern I have about this technology is what it is going to do to document
- : portability.
-
- Like what do you do when you don't have all the parts to view
- something... I guess this will come about along the lines of what happens
- if you have a QuickTime clip in a document on a machine without it
- installed - you get a dead placeholder that may or may not represent the
- content. The whole idea of *distributed* parts freaks me a little - what
- do you do when your document relies on net connections to multiple remote
- servers and the net goes away?
-
- dean
- --
- Zikzak public access UNIX, Melbourne, Australia.
-
- +++++++++++++++++++++++++++
-
- >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
- Date: Thu, 08 Sep 1994 17:50:17 +0800
- Organization: Department of Computer Science, The University of Western Australia
-
- In article <nagleCvB8zv.M3K@netcom.com>, nagle@netcom.com (John Nagle) wrote:
-
- > Or long-term document integrity. Will you still be able to read
- >your document a few years downstream, after all the applications have
- >changed? And if you can't, which vendor do you call for help?
-
- I don't think this will be a problem. Unless there are nasty bugs in the
- part handlers, OpenDoc should still be able to open the document, even if
- you can't edit (or even view) it. You'll be able to rip it apart and try
- to find out which part handler is having the bad day.
-
- Alternatively it's likely that sooner or later, someone will build
- 'ResEdit for Bento', an application that lets you tear OpenDoc documents
- apart at a low level. This means you'll be able to break any document up
- into its component parts and hence edit them that way.
-
- Let's face it, you face exactly the same problem today with non-compound
- documents. If WidgetWorks Inc goes down the tubes and, 3 years later,
- WidgetWorks fails to run under Gerschwin, well you're screwed, aren't you?
-
- Share and Enjoy.
- --
- Quinn "The Eskimo!" "Scout in a can. Simple, cheap, easy
- to use and it's expendable!"
-
- +++++++++++++++++++++++++++
-
- >From gurgle@dnai.com (Pete Gontier)
- Date: Thu, 08 Sep 1994 09:40:32 -0800
- Organization: Integer Poet Software
-
- In article <34m4t5$k9p@lazar.apana.org.au>, deanp@zikzak.apana.org.au
- (Dean Perry) wrote:
-
- > : One concern I have about this technology is what it is going to do to
- > : document portability.
- >
- > Like what do you do when you don't have all the parts to view
- > something... I guess this will come about along the lines of what happens
- > if you have a QuickTime clip in a document on a machine without it
- > installed - you get a dead placeholder that may or may not represent the
- > content.
-
- Good answer. Gold star. :-) However, this is not a complete solution.
-
- We all know what happens when an app fails to save font names in its
- documents as opposed to font numbers. The font numbers will work as long
- as (1) the doc stays on one machine, and (2) the user doesn't mess with
- hir Fonts folder. Deprive the document of either one of those conditions,
- though, and the page layout goes straight in the toilet, even if you're
- able to find a similar font and apply it through some kind of global style
- mechanism (because presumably there are too many changes to make
- manually).
-
- Now imagine what's missing is not just a font but a program. Presumably
- the program is a bit more complex than a font. Don't get me wrong; it
- might be as clean as a QuickTime PICT. But we can't really guess what
- unfortunate portability issues will appear until they do appear, because
- nobody has done this before.
-
- > The whole idea of *distributed* parts freaks me a little - what
- > do you do when your document relies on net connections to multiple remote
- > servers and the net goes away?
-
- It doesn't strike me that this is any worse than a part editor which is
- missing when the doc is opened. One important difference is that the app
- shell might be able to take a snap shot of the part's screen
- representation before the part editor goes away.
-
- --
-
- Pete Gontier // impudent ass // gurgle@dnai.com
-
- "The need to be (or appear to be) sophisticated pervades the very
- atmosphere in which we, the Magazine Reading Class, move."
- -- Ellis Weiner, Spy Magazine, 9/94
-
- +++++++++++++++++++++++++++
-
- >From Jens Alfke <jens_alfke@powertalk.apple.com>
- Date: Thu, 8 Sep 1994 18:40:11 GMT
- Organization: Apple Computer
-
- Dean Perry, deanp@zikzak.apana.org.au writes:
- > : One concern I have about this technology is what it is going to do to
- document
- > : portability.
- > Like what do you do when you don't have all the parts to view
- > something...
-
- There are three levels of support for this:
- * If you don't have the preferred editor for that part, but have another
- editor that can edit one or more of the content types saved for that part,
- that editor will be used. (Note that an editor can save a part in multiple
- representations, kind of like writing to the Clipboard or drag mgr today.)
- * If that fails, but there is a translator available that knows how to
- translate one of the part's formats into something one of your available
- editors can read, the translator will be used. (On the Mac, this uses the
- translation system from Mac Easy Open. Other platforms will implement it
- differently.)
- * If all else fails, the part will display as a gray box that displays its
- content type(s). Note that the document will still open, and all other parts
- for which an editor could be found will appear.
-
- Someone else mentioned a "Bento ResEdit" ... someone (not at Apple) has
- written a tool like that. I'm not sure whether they're going to finish the
- implementation or distribute it more widely. It'd be quite useful.
-
- --Jens Alfke jens_alfke@powertalk.apple.com
- "A man, a plan, a yam, a can of Spam ... Bananama!"
-
- +++++++++++++++++++++++++++
-
- >From h+@nada.kth.se (Jon W{tte)
- Date: Fri, 09 Sep 1994 10:07:24 +0200
- Organization: Royal Institute of Something or other
-
- In article <34m4t5$k9p@lazar.apana.org.au>,
- deanp@zikzak.apana.org.au (Dean Perry) wrote:
-
- >Like what do you do when you don't have all the parts to view
- >something...
-
- Part Viewers are encouraged to be free, while the editors would
- cost money.
-
- Also, a Part Editor is encouraged to store its info in one or
- more standard formats (i e PICT) as well as its own format, so
- you can use the "SimpleText" part to view but not edit it.
-
- >content. The whole idea of *distributed* parts freaks me a little - what
- >do you do when your document relies on net connections to multiple remote
- >servers and the net goes away?
-
- What do you do when the power goes out? Oh, it doesn't go out
- often, but it happens, right? Networks will have about the same
- reliability. (And aside from having an UPS, I now am looking
- for a V.24 adapter for my digital cellular phone :-)
-
- Cheers,
-
- / h+
-
-
- --
- Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
- This is the kind of totally-gross-out-sick stuff you can do with C++ that
- makes the language kind of neat.
- -- Keith Rollin
-
-
- +++++++++++++++++++++++++++
-
- >From nagle@netcom.com (John Nagle)
- Date: Fri, 9 Sep 1994 16:36:15 GMT
- Organization: NETCOM On-line Communication Services (408 261-4700 guest)
-
- gurgle@dnai.com (Pete Gontier) writes:
- >In article <34m4t5$k9p@lazar.apana.org.au>, deanp@zikzak.apana.org.au
- >(Dean Perry) wrote:
- >> : One concern I have about this technology is what it is going to do to
- >> : document portability.
- >>
- >> Like what do you do when you don't have all the parts to view
- >> something...
- >We all know what happens when an app fails to save font names in its
- >documents as opposed to font numbers. ...
- >Now imagine what's missing is not just a font but a program. ...
-
- Yeah. Supposedly the plan for OpenDoc is that a PICT representation
- of the object is carried with the document, so it can be viewed without
- the appropriate editor.
-
- One implication is that even simple documents will be big. A more
- subtle implication is that document editability may invisibly degrade over
- time as the underlying applications change. The document may look just
- fine until you try to do something to it.
-
- John Nagle
-
- +++++++++++++++++++++++++++
-
- >From jonpugh@netcom.com (Jon Pugh)
- Date: Tue, 13 Sep 1994 22:57:58 GMT
- Organization: Will hack for food
-
- John Nagle (nagle@netcom.com) wrote:
-
- > Yeah. Supposedly the plan for OpenDoc is that a PICT representation
- > of the object is carried with the document, so it can be viewed without
- > the appropriate editor.
-
- > One implication is that even simple documents will be big. A more
- > subtle implication is that document editability may invisibly degrade over
- > time as the underlying applications change. The document may look just
- > fine until you try to do something to it.
-
- These are all concerns relating to OLE also. In fact, Microsoft advocates
- OLE as a superior technology because it includes a picture along with the
- data whereas OpenDoc does not (according to this MicroSoft OLE comparison
- paper I've been reading). My favorite part is where they claim that because
- the picture is included, the document may be printed without the editor
- being involved. They seem to have missed the whole resolution issue.
-
- Personally, I like the OpenDoc approach better. It takes a more functional
- attitude, where parts can work the way they want instead of the way the
- container wants, which is the OLE approach. This paper says that OLE can do
- OpenDoc's in place activation (normal OLE parts are inactive until clicked)
- if the container app wants to. It doesn't mention that no OLE apps want to.
- I can see why. If you activate an Excel graph in Word when it scrolls onto
- the screen, you need to launch Excel. That's a nontrivial operation. The
- real question is, will you be able to init all your parts fast enough. The
- OLE folks don't think so, which is why they advocate static pictures, no
- implicit activation and printing from the pictures.
-
- Jon
-
- +++++++++++++++++++++++++++
-
- >From philip@cs.wits.ac.za (Philip Machanick)
- Date: 14 Sep 1994 07:07:06 GMT
- Organization: Computer Science Dept, U of Witwatersrand
-
- In article <jonpughCw3BsM.Bnz@netcom.com>, jonpugh@netcom.com (Jon Pugh) wrote:
-
- > Personally, I like the OpenDoc approach better. It takes a more functional
- > attitude, where parts can work the way they want instead of the way the
- > container wants, which is the OLE approach. This paper says that OLE can do
- > OpenDoc's in place activation (normal OLE parts are inactive until clicked)
- > if the container app wants to. It doesn't mention that no OLE apps want to.
- > I can see why. If you activate an Excel graph in Word when it scrolls onto
- > the screen, you need to launch Excel. That's a nontrivial operation. The
- > real question is, will you be able to init all your parts fast enough. The
- > OLE folks don't think so, which is why they advocate static pictures, no
- > implicit activation and printing from the pictures.
-
- The OLE people think this way because they are trying to move dinosaurs
- around with a fly whisk. OpenDoc breaks apps down into more manageable
- chunks - or at least will if programmers use it the way it was intended.
- Launching a spreadsheet part (viewer not editor is the minimum needed)
- handler should be a much more lightweight operation than launching Excel.
-
- Another strategy would be to make resolution in a more general sense the
- deciding factor on whether you need a part handler - to print to higher
- resolution device, to open the object to edit it, to display it on a
- screen with more colours etc.
- --
- Philip Machanick philip@cs.wits.ac.za
- Department of Computer Science, University of the Witwatersrand
- 2050 Wits, South Africa (at University of Cape Town 4 July-7 Nov)
- phone 27(11)716-3309 fax 27(11)339-7965
-
- ---------------------------
-
- >From alain@cs.uchicago.edu (Alain Aslag Roy)
- Subject: Linking with QuickTime.xcoff for the power pc
- Date: Tue, 13 Sep 1994 03:44:44 GMT
- Organization: It lurks in the night.
-
- I've been working on an application that uses QuickTime 2.0 on the power
- macintosh. I figured out how to link with the Import library for quicktime
- (I got it from the Beta CD) and it works fine. Until I launch the program
- in a low memory situation. Then I get a message about not being able to
- find the QuickTime Libary or something like that. If I free up some memory,
- I don't have that problem.
-
- Now, I'd really like it if I could handle this error on my own instead of the
- system handling it for me. My program doesn't require QuickTime, but can use
- it if it's there. Is there a way for me to prevent the system from reporting
- this error and for me to handle it myself?
-
- I'm using MPW with PPCC (The RISC SDK), the most recent version, if that
- matters.
-
- Thanks in advance for any advice.
-
- -alain
-
- +++++++++++++++++++++++++++
-
- >From zstern@adobe.com (Zalman Stern)
- Date: Tue, 13 Sep 1994 20:58:20 GMT
- Organization: Adobe Systems Incorporated
-
- Alain Aslag Roy writes
- [Program fails to launch when QuickTime library cannot be loaded, say for
- low memory reasons, or because it is not isntalled.]
- > Now, I'd really like it if I could handle this error on my own instead of
- the
- > system handling it for me.
- >
- > I'm using MPW with PPCC (The RISC SDK), the most recent version, if that
- > matters.
-
- You want to make the linkage of the library "weak". This is done by adding a
- tilde after the library name in the argument to the makepef command. Like
- so:
- makepef <...> -l QuickTimeLib.xcoff=QuickTimeLib~
-
- Figuring out if the library is actually there or not is another story. In
- theory there is a gestalt selector to do this, but it doesn't work. Instead
- you should test if a routine you use from the QuickTime library is NULL or
- not. The whole mass of code I put in to MacApp to deal with this looks like
- so:
-
- /* Start with the Gestalt in as for a 68k. */
- theConfiguration.hasCompressionManager = Gestalt (gestaltCompressionMgr,
- response) == noErr;
-
- /* For PowerPC make sure we can actually call QuickTime if its there...
- * This piece of code is incredibly screwed up because we link to QuickTime
- * weakly. Meaning that if the library is not there, undefined externals
- * referencing that library do not keep us from running. However, there
- * seems to be a case where the library is there, but cannot be loaded due
- * to a lack of memory. In this case, the gestalt call says its there, but
- * the routines we call are still NULL. So what the hell, I just check one
- * of the routines that is supposed to be in that library.
- */
- #ifdef __powerc
- theConfiguration.hasCompressionManager =
- (theConfiguration.hasCompressionManager &&
- (Gestalt(gestaltQuickTimeFeatures, response) == noErr) &&
- (response & (1 << gestaltPPCQuickTimeLibPresent)) &&
- &CustomGetFilePreview != NULL);
- #endif
- --
- Zalman Stern zalman@adobe.com (415) 962 3824
- Adobe Systems, 1585 Charleston Rd., POB 7900, Mountain View, CA 94039-7900
- Please do not change color while I am talking to you -- MC 900 Ft Jesus.
-
- ---------------------------
-
- >From gmcgath@condes.mv.com (Gary McGath)
- Subject: Multiple monitors
- Date: Sun, 4 Sep 1994 13:14:42 GMT
- Organization: Conceptual Design
-
- As a result of my unusual monitor configuration, I've developed an
- awareness of problems that often crop up in applications whose
- programmers fail to think about multiple monitors. Here are
- my suggestions for good multiple monitor programming style; I
- welcome additions and comments. Perhaps someone would care to throw
- in some suggestions for Pivot monitors to go with these?
-
- To figure the maximum window size, check the GrayRgn, not ScreenBits.
- The user should be able to size a window across two monitors, or to
- stretch it to the dimensions of a screen that may be bigger than the
- main screen.
-
- Don't assume that just because the main device is monochrome, the system
- doesn't have color. Use GetMaxDevice.
-
- If it's important that a new window be displayed in color, put it on the
- screen with the greatest depth. This is especially important with
- non-draggable dialogs. It's frustrating to have a color picker
- window nailed to a monochrome monitor when there's a perfectly good
- color monitor next to it.
-
- If you have a graphic with both monochrome and color versions, check
- which device it's being drawn to when deciding which version to use.
- (Some calls, such as PlotCIcon, will do this automatically.)
-
- Clicking on the zoom box of a window should position it in the screen
- which it's currently occupying, rather than always hauling it to the
- main device. (Defining which screen a window is occupying in the general
- case is tricky, to be sure.)
-
- Remember that if your window occupies the whole main screen, it doesn't
- necessarily occupy all of the desktop. It's still possible for the
- user to click outside the window.
-
- When bringing up a window, be sure that at least its title bar is on the
- screen. If the user plays with the Monitors control panel and then
- reboots, a window which was on screen last time may be out of reach
- this time. Some old DA's are especially bad about this, and can
- permanently vanish into offscreen limbo.
-
- --
- Gary McGath
- gmcgath@condes.mv.com
-
- +++++++++++++++++++++++++++
-
- >From h+@nada.kth.se (Jon W{tte)
- Date: Mon, 05 Sep 1994 17:34:25 +0200
- Organization: Royal Institute of Something or other
-
- >To figure the maximum window size, check the GrayRgn, not ScreenBits.
-
- Yes. Most apps that do this wrong, can be coerced by using the
- command key when resizing the window.
-
- >Don't assume that just because the main device is monochrome, the system
- >doesn't have color. Use GetMaxDevice.
-
- However, GetMaxDevice crashes on non-color machines, and if
- those are a factor, you have to check some more. I recently did
- an about box for someone else, which went pretty much like this:
-
- depth = 1 ;
-
- Is there color QD?
- If yes, is there QuickTime?
- If yes, depth = depth of GetMaxDevice()
- If depth < 8, depth = 1
-
- Load and draw pictures using b/w if depth = 1, else color. If
- depth is 8, use the palette of the screen the window's on
- (which is the deepest screen, to show off the colors :-)
-
- QuickTime is required because of the JPEG about picture. Code
- and images for 24-bit color and black/white come in at under 40k!
-
- >If you have a graphic with both monochrome and color versions, check
- >which device it's being drawn to when deciding which version to use.
- >(Some calls, such as PlotCIcon, will do this automatically.)
-
- Use DeviceLoop()
-
- >Clicking on the zoom box of a window should position it in the screen
- >which it's currently occupying, rather than always hauling it to the
-
- Yes! The screen with the most pixels of the window on it. It
- should also move the window as little as possible, i e first
- grow it down/right until it can grow it no more; then keep
- growing up-left 'til the screen is full.
-
- >When bringing up a window, be sure that at least its title bar is on the
- >screen. If the user plays with the Monitors control panel and then
-
- Yeah, this is a killer. I have an FKEY that staggers all visible
- app windows. Can do funky things to palettes, but saves the day
- occasionally :-)
-
- Cheers,
-
- / h+
-
-
-
- --
- Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
- This signature is kept shorter than 4 lines in the interests of UseNet
- S/N ratio.
-
-
- +++++++++++++++++++++++++++
-
- >From neil_ticktin@xplain.com (Neil Ticktin)
- Date: Mon, 5 Sep 1994 17:54:25 GMT
- Organization: MacTech Magazine/Xplain Corporation
-
- In article <gmcgath-0409940814420001@condes.mv.com>, gmcgath@condes.mv.com
- (Gary McGath) wrote:
-
- >> As a result of my unusual monitor configuration, I've developed an
- >> awareness of problems that often crop up in applications whose
- >> programmers fail to think about multiple monitors. Here are
- >> my suggestions for good multiple monitor programming style; I
- >> welcome additions and comments. Perhaps someone would care to throw
- >> in some suggestions for Pivot monitors to go with these?
-
-
- Gary,
-
- We found the similar things. We published an article about how to support
- multiple monitors a couple issues back. We hope, as you do, that people
- will provide more support for multiple monitors -- it's annoying when they
- don't.
-
- Thanks,
- Neil
-
- - ---------------------------------------------------------------------
- Neil Ticktin, MacTech Magazine (formerly MacTutor)
- PO Box 250055, Los Angeles, CA 90025 * 310-575-4343 * Fax: 310-575-0925
- For more info, anonymous ftp to ftp.netcom.com and cd to /pub/xplain
- custservice@xplain.com * editorial@xplain.com * adsales@xplain.com
- marketing@xplain.com * accounting@xplain.com * pressreleases@xplain.com
- progchallenge@xplain.com * publisher@xplain.com * info@xplain.com
-
- +++++++++++++++++++++++++++
-
- >From jonpugh@netcom.com (Jon Pugh)
- Date: Mon, 5 Sep 1994 20:02:00 GMT
- Organization: Will hack for food
-
- Gary McGath (gmcgath@condes.mv.com) wrote:
- > When bringing up a window, be sure that at least its title bar is on the
- > screen. If the user plays with the Monitors control panel and then
- > reboots, a window which was on screen last time may be out of reach
- > this time. Some old DA's are especially bad about this, and can
- > permanently vanish into offscreen limbo.
-
- I only require that the 16 bits or so of the left or right end of the title
- bar be on screen. This allows you to slam a window offscreen into the bottom
- corners of the screen and remain there after it is closed and reopened. I
- suppose it doesn't catch the big window with both ends off screen, but I
- don't think anyone's managed to get that and not minded it being reset.
-
- We regularly get into window wars at work via Projector. My compatriot has
- his menubar on the little color screen (for some of the reasons outlined
- before) and edits on a large b&w monitor next to it. Then he checks in
- and I open the window half off my little color monitor and not on my 16"
- color monitor. Since the title bar is on screen, it doesn't move though.
- I don't see a good way to fix this without saving the entire monitor setup.
-
- Jon
-
-
- +++++++++++++++++++++++++++
-
- >From Charles B. Cranston <zben@ni.umd.edu>
- Date: 6 Sep 1994 19:55:23 GMT
- Organization: Network Infrastructure U Maryland College Park
-
- It may be worth mentioning that there is an Apple Human Interface
- Note on the right things to do for multiple monitors, and this
- information has also been integrated into the McGraw Hill
- "Macintosh Human Interface Guidelines", mostly in chapter 5.
-
- It is amazing how much software does NOT do the right things,
- even MPW didn't zoom correctly until 3.3 came out...
-
- +++++++++++++++++++++++++++
-
- >From joseph@joebloe.maple-shade.nj.us (Joseph "Moof-in'" Hall)
- Date: Thu, 8 Sep 94 01:36:24 MST
- Organization: comp.sys.mac.programmer.moof Advocacy
-
-
- In article <jonpughCvoABD.6Bn@netcom.com> (comp.sys.mac.programmer), jonpugh@netcom.com (Jon Pugh) writes:
- ) We regularly get into window wars at work via Projector. My compatriot has
- ) his menubar on the little color screen (for some of the reasons outlined
- ) before) and edits on a large b&w monitor next to it. [...]
-
- I've wondered why apps don't save window position as an offset
- relative to the nearest corner or something like that. It would certainly
- solve some window placement disputes.
-
- =============== O Fortuna, velut Luna, statu variabilis ===============
- uunet!joebloe!joseph (602) 732-2549 day joseph%joebloe@uunet.uu.net
- 1400 N Alma School #163 Chandler, AZ 85224
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- Be hip! Support comp.sys.mac.programmer.moof!
-
- +++++++++++++++++++++++++++
-
- >From jonpugh@netcom.com (Jon Pugh)
- Date: Sat, 10 Sep 1994 22:10:28 GMT
- Organization: Will hack for food
-
- Joseph "Moof-in'" Hall (joseph@joebloe.maple-shade.nj.us) wrote:
-
- > I've wondered why apps don't save window position as an offset
- > relative to the nearest corner or something like that. It would certainly
- > solve some window placement disputes.
-
- That doesn't save your window size. It's simple to just store the rect.
- Of course, it wouldn't be much harder to store the offset point and the
- window height and width point either. Sounds like it's time for some
- experimentation to see if this would buy you anything. It sounds identical
- in most cases though.
-
- Jon
-
-
- +++++++++++++++++++++++++++
-
- >From ari@world.std.com
- Date: Thu, 15 Sep 1994 06:02:23 GMT
- Organization: The World Public Access UNIX, Brookline, MA
-
- In article <9668AA910721.386931@klkmac014.nada.kth.se>,
- Jon W{tte <h+@nada.kth.se> wrote:
- >>If you have a graphic with both monochrome and color versions, check
- >>which device it's being drawn to when deciding which version to use.
- >>(Some calls, such as PlotCIcon, will do this automatically.)
- >
- >Use DeviceLoop()
-
- While working on my popup CDEF, I ran into a problem drawing a color
- image from an offscreen graphics world when the destination rectangle
- spanned two monitors with different depths. The problem arose because
- the offscreen gworld was created with the depth of the deepest
- monitor. The portion of the image that was copied to the color monitor
- was displayed perfectly. But the portion of the image that was copied
- to the black and white monitor was real ugly, since all the color
- pixels got mapped to black. The only solution I could find was to use
- a DeviceLoop when drawing an image that spans monitors of different
- depths. Unfortunately, this meant that I couldn't use the offscreen
- gworld, and the image flickers if it spans monitors with different
- depths.
-
- --
- Ari Halberstadt ari@world.std.com
- One generation passes away, and another generation comes: but the
- earth abides for ever. -- Ecclesiastes, 1:4.
-
- +++++++++++++++++++++++++++
-
- >From ari@world.std.com
- Date: Thu, 15 Sep 1994 06:08:21 GMT
- Organization: The World Public Access UNIX, Brookline, MA
-
- In article <34ihfb$8c2@haven.umd.edu>,
- Charles B. Cranston <zben@ni.umd.edu> wrote:
- >It is amazing how much software does NOT do the right things,
- >even MPW didn't zoom correctly until 3.3 came out...
-
- Well, I still think MPW misses the mark. And SADE and HyperCard are
- *very* annoying. I put the Worksheet window in SADE on my small
- monitor and put the source code window on my big monitor. Then, when I
- hit command-F to search for something, the find dialog pops up
- way-over-there on the little monitor; BLECH! HyperCard does similar
- stupid things. And THINK C 7.0 even stuck my windows OFF SCREEN!!!
- YES, I OPENED A WINDOW AND ITS TITLE BAR WAS HIDDEN BEHIND THE MENU
- BAR! Fortunately, I've been using macs for far too long, and promptly
- broke into MacsBug and set MBarHeight to 0 and dragged the windows
- back to somewhere more accessable. (The alternative of editing the
- menu record with MacsBug, with the associated structure and content
- regions, etc. just was out of the question; I don't know what I would
- have done with a PowerPC!)
- --
- Ari Halberstadt ari@world.std.com
- One generation passes away, and another generation comes: but the
- earth abides for ever. -- Ecclesiastes, 1:4.
-
- ---------------------------
-
- >From qsi@cnh.wlink.nl (Peter Kocourek)
- Subject: The 'aete' resource and the Script Editor
- Date: 07 Sep 94 01:24:16 +
- Organization: Care Net Holland
-
- Hi,
-
- I just had strange problem with the Script Editor and the 'aete' resource. I
- had already added a few events to the aete resource, and everything was
- working fine. Then I added a simple event, with no required parameters or any
- fancy stuff. That's when the weirdness began.
-
- When I sent the event to myself, everything was fine. But when I tried to send
- the event from the Script Editor, my event handler returned errAEParamMissed,
- when I was making the routine check for missed parameters. Yet I had indicated
- in the aete, that the event did not have any parameters...
-
- So, trying to find out what kind of parameter the Script Editor was passing
- along, I discovered that the type of the missed parameter was 'keyw', and the
- type of keyword I'd missed was '----'. I merrily put in code to get the
- parameter, but that call to AEGetParamPtr came back with errAEDescNotFound,
- even though I had just extracted the relevant information about the missing
- parameter from the AppleEvent!
-
- I checked the Event Log in the Script Editor, and sure enough, when sending my
- event "foo", the Log said it had sent "foo current application". And that
- despite the fact that it said in the aete resource that I wanted no
- parameters, direct or otherwise.
-
- Ultimately, after a lot of frustration, I found the cause of the problem: in
- the aete resource, I had specified a the direct parameter as being of type
- typeNull, but I had the "is optional" flag off. Once I switched that on,
- everything worked fine.
-
- Is this the way the Script Editor is supposed to behave? I thought that a
- typeNull type indicated that no parameter was to be included under any
- circumstances. And the errAEDescNotFound still bothers me. If I find the type
- of the missed parameter, surely I should be able to extract it from the
- AppleEvent; in this case the AE Manager seemed to be telling me that there is
- an additional parameter in there, but that it can't find it. What's going on?
-
-
- YHS:QSI!
-
- +++++++++++++++++++++++++++
-
- >From jonpugh@netcom.com (Jon Pugh)
- Date: Sat, 10 Sep 1994 21:53:36 GMT
- Organization: Will hack for food
-
- Peter Kocourek (qsi@cnh.wlink.nl) wrote:
-
- > I just had strange problem with the Script Editor and the 'aete' resource.
-
- > [snip]
-
- > Ultimately, after a lot of frustration, I found the cause of the problem: in
- > the aete resource, I had specified a the direct parameter as being of type
- > typeNull, but I had the "is optional" flag off. Once I switched that on,
- > everything worked fine.
-
- Ed Lai has been telling people to make sure they set the optional bit if
- they used a direct parameter of typeNull (i.e. none) for quite some time. I
- guess now we know why. ;)
-
- Regardless of whether it is intential or not, it is the way it works, so be
- sure to do this.
-
- Jon
-
- +++++++++++++++++++++++++++
-
- >From lai@apple.com (Ed Lai)
- Date: 14 Sep 1994 16:16:31 GMT
- Organization: Apple
-
- In article <4cb_9409071502@cnh.wlink.nl>, qsi@cnh.wlink.nl (Peter Kocourek)
- wrote:
-
- > Hi,
- >
- > I just had strange problem with the Script Editor and the 'aete' resource. I
- > had already added a few events to the aete resource, and everything was
- > working fine. Then I added a simple event, with no required parameters or any
- > fancy stuff. That's when the weirdness began.
- >
- > When I sent the event to myself, everything was fine. But when I tried to send
- > the event from the Script Editor, my event handler returned errAEParamMissed,
- > when I was making the routine check for missed parameters. Yet I had indicated
- > in the aete, that the event did not have any parameters...
- >
- > So, trying to find out what kind of parameter the Script Editor was passing
- > along, I discovered that the type of the missed parameter was 'keyw', and the
- > type of keyword I'd missed was '----'. I merrily put in code to get the
- > parameter, but that call to AEGetParamPtr came back with errAEDescNotFound,
- > even though I had just extracted the relevant information about the missing
- > parameter from the AppleEvent!
- >
- > I checked the Event Log in the Script Editor, and sure enough, when sending my
- > event "foo", the Log said it had sent "foo current application". And that
- > despite the fact that it said in the aete resource that I wanted no
- > parameters, direct or otherwise.
- >
- > Ultimately, after a lot of frustration, I found the cause of the problem: in
- > the aete resource, I had specified a the direct parameter as being of type
- > typeNull, but I had the "is optional" flag off. Once I switched that on,
- > everything worked fine.
- >
- > Is this the way the Script Editor is supposed to behave? I thought that a
- > typeNull type indicated that no parameter was to be included under any
- > circumstances. And the errAEDescNotFound still bothers me. If I find the type
- > of the missed parameter, surely I should be able to extract it from the
- > AppleEvent; in this case the AE Manager seemed to be telling me that there is
- > an additional parameter in there, but that it can't find it. What's going on?
- >
- >
- > YHS:QSI!
-
- This is not a problem with the script editor. I always consider this to
- be a problem of AppleScript, although I was told there are reason to do
- it that way so it can not be fixed. As you discoverd, if the direct
- parameter is of type typeNull, then AppleScript would send a typeNull
- as the direct parameter. The AppleEvent manager checks every parameter
- you have accessed. If you ask for parameter missed, then it returns
- the keyword '----'. When you try to get the direct parameter, AEM
- found the type to be typeNull, which means no parameter, so
- AEM got fooled has say errAEDescNotFound. The last part can be
- considered to be an AEM bug, although it is almost excusable.
- --
- /* Disclaimer: All statments and opinions expressed are my own */
- /* Edmund K. Lai */
- /* Apple Computer, MS303-3A */
- /* 20525 Mariani Ave, */
- /* Cupertino, CA 95014 */
- /* (408)974-6272 */
- zW@h9cOi
-
- ---------------------------
-
- >From eschen@molbio.cbs.umn.edu (Art Eschenlauer)
- Subject: can extensions send appleevents?
- Date: Wed, 14 Sep 1994 13:07:32 GMT
- Organization: University of Minnesota, Twin Cities
-
- Last night I was plughing around in my System 7.0.1 software, looking at
- SIZE resources. I found that the Finder has the HighLevelEventAware flag
- set but that the System does not. The dogma is that to send AppleEvents success-
- fully using AESend, an 'application' must have the HighLevelEventAware flag
- set. I want to send appleevents from an extension that is called via patches
- to drawmenubar, systemmenu, and menuselect from within ANY application (that
- uses the menubar). How will I get in trouble here? 1. Will I be hosed if the
- calling app is not HighLevelEventAware? 2. Will I be hosed all the time because
- the system is not HighLevelEventAware? 3. By some bizarre quirk of fate, will
- I be successful all the time because the Finder is HighLevelEventAware (I want
- to send 'odoc' events) or because code resources aren't restricted by th
- HighLevelEventAware bit? 4. Am I hosed all the time because code resources
- cannot send appleevents?
-
- Thanks!
-
- -Art
-
- --
- eschen@molbio.cbs.umn.edu (Art Eschenlauer, U of M Agronomy & Plant Genetics)
- "The only things that you can take with you are those that you have given
- away." - Sign under Peter Bailey's picture in "It's a Wonderful Life"
-
- +++++++++++++++++++++++++++
-
- >From tnleeuw@cs.vu.nl (Leeuw van der TN)
- Date: Wed, 14 Sep 1994 14:42:54 GMT
- Organization: Fac. Wiskunde & Informatica, VU, Amsterdam
-
- Maybe you could make your Control Panel communicate with a background
- application, that sends the AppleEvents to the Finder?
- I think you can use Gestalt for that.
-
- Just a passing thought.
-
- --Tim van der Leeuw
- tnleeuw@cs.vu.nl
-
-
- +++++++++++++++++++++++++++
-
- >From Jens Alfke <jens_alfke@powertalk.apple.com>
- Date: Wed, 14 Sep 1994 20:52:09 GMT
- Organization: Apple Computer
-
- Art Eschenlauer, eschen@molbio.cbs.umn.edu writes:
- > I want to send appleevents from an extension that is called via patches
- > to drawmenubar, systemmenu, and menuselect from within ANY application (that
- > uses the menubar). How will I get in trouble here?
-
- The Apple Event Manager doesn't care what _code_ is running, only what
- _process_ is active. If your patch tries to send an AE, what happens depends
- on what app (the Finder is an app) is currently active. If it's AE-aware (as
- per the SIZE rsrc) you'll succeed. If not, you'll fail, probably with the
- infamous -903 error.
- These days most apps are AE-aware, but some still are not.
- Extensions like QuicKeys and KeyQuencer get around this problem by having a
- small faceless bg app that they can have send the event for them. Of course,
- you have to have some way of telling the app to send an event; this probably
- boils down to some shared memory that you access via a Gestalt selector.
-
- --Jens Alfke jens_alfke@powertalk.apple.com
- "A man, a plan, a yam, a can of Spam ... Bananama!"
-
- +++++++++++++++++++++++++++
-
- >From gurgle@dnai.com (Pete Gontier)
- Date: Thu, 15 Sep 1994 00:27:49 -0800
- Organization: Integer Poet Software
-
- In article <Cw4FJG.Dvw@news.cis.umn.edu>, eschen@molbio.cbs.umn.edu (Art
- Eschenlauer) wrote:
-
- > 1. Will I be hosed if the calling app is not HighLevelEventAware?
-
- Yes.
-
- > 2. Will I be hosed all the time because the system is not HighLevelEventAware?
-
- No.
-
- > 3. By some bizarre quirk of fate, will
- > I be successful all the time because the Finder is HighLevelEventAware (I want
- > to send 'odoc' events) or because code resources aren't restricted by th
- > HighLevelEventAware bit?
-
- No.
-
- > 4. Am I hosed all the time because code resources cannot send appleevents?
-
- No.
-
- Your point #1 is the important one here. When you call the AppleEvent
- Manager, everything it wants to know is based on the context of the
- current application. So when your code resource calls the AEM, you can
- pretend the AEM "thinks" that the current application is making the call.
-
- Consequently, if you can arrange for the calling app to be AE-aware, you
- win. Since Finder is guaranteed to be AE-aware, you might be able to defer
- sending your AE until Finder becomes the curreent app. (You can call
- WakeUpProcess against it to make sure this happens quickly.)
-
- Receiving AppleEvents is another matter entirely, of course, because your
- handlers could conflict with the handlers of the current application.
- There is probably a way to deal with this, but I haven't had to
- investigate it yet, so I don't know much more than this.
-
- There are some folks who know about undocumented interfaces to the AEM
- which ignore the AE-aware status of the current app. These people claim
- that even though the interfaces are undocumented there is enough
- third-party software which uses the interfaces that it's unlikely Apple
- will be able to break these interfaces in the future. (Probably these
- people have written some of that software.) I won't names names to protect
- the innocent, but now that I have mentioned this, perhaps someone will
- pipe up.
-
- --
-
- Pete Gontier // CTO, Integer Poet Software // gurgle@dnai.com
-
- "Yeah, that's fucking bizarre. That's one I'd never heard before.
- Not even on the internet."
- -- Bob Mould, on rumors that he and Grant Hart were lovers
- when H¸sker D¸ broke up, _Spin_ magazine interview, 10/94
-
- +++++++++++++++++++++++++++
-
- >From fixer@faxcsl.dcrt.nih.gov (Chris Disavow Twinkies Tate)
- Date: Thu, 15 Sep 1994 13:24:10 GMT
- Organization: DCRT, NIH, Bethesda, MD
-
- In article <gurgle-1509940027490001@dynamic-224.dnai.com>, gurgle@dnai.com (Pete Gontier) writes:
- >
- >Receiving AppleEvents is another matter entirely, of course, because your
- >handlers could conflict with the handlers of the current application.
- >There is probably a way to deal with this, but I haven't had to
- >investigate it yet, so I don't know much more than this.
-
- As I recall, there's sample code from DTS around called something like
- "AEcdev," which uses an FBA as an AppleEvent "dispatcher." When you
- want to send an AE from your (non-application) code, you talk to the
- FBA (presumably launched at system startup?), and away it goes.
-
- Now: I'd have to dig into how the code resource and the FBA communicate.
- Can standalone code use bare PPC? Or does it have to go through something
- like the Gestalt mechanism that INIT/cdev combinations frequently use to
- communicate?
-
- Either way, it seems that one could come up with a (small) FBA whose job
- it is to handle two-way dispatch of AppleEvents, passing them along to
- the proper standalone-code recipients. The real problem, I think, is
- tracking which chunk of standalone code is supposed to be receiving a
- given AppleEvent. Hmmmm....
-
- __________
- Christopher Tate fixer@faxcsl.dcrt.nih.gov
- GM/CS$ d(--) H s:- g+ p0 au a- w+ v+(-*) C++ U+(--) E++ N++ K W---(++)$ M++$
- V+ -po+ Y+ t+ 5-- j+ G? tv b+++ D+++ e++ u++(---) h--- f r+++ n+ y+++
-
- +++++++++++++++++++++++++++
-
- >From gurgle@dnai.com (Pete Gontier)
- Date: Thu, 15 Sep 1994 09:22:01 -0800
- Organization: Integer Poet Software
-
- In article <1994Sep15.132410.1393@alw.nih.gov>, fixer@faxcsl.dcrt.nih.gov wrote:
-
- > As I recall, there's sample code from DTS around called something like
- > "AEcdev," which uses an FBA as an AppleEvent "dispatcher." When you
- > want to send an AE from your (non-application) code, you talk to the
- > FBA (presumably launched at system startup?), and away it goes.
- > Now: I'd have to dig into how the code resource and the FBA communicate.
- > Can standalone code use bare PPC?
-
- That, in fact, is how the DTS code sample you mention works. :-)
-
- > Or does it have to go through something like the Gestalt mechanism that
- > INIT/cdev combinations frequently use to communicate?
-
- And this is how I have done it in the past. PPC is too much of a hassle if
- you have no event loop.
-
- > The real problem, I think, is
- > tracking which chunk of standalone code is supposed to be receiving a
- > given AppleEvent.
-
- Well, if you have a one-to-one relation between FBA and code resource,
- there isn't much confusion. However, the original poster was talking about
- sending an AppleEvent from within a patch to Menu Manager traps. I don't
- think he's going to succeed in receiving an AppleEvent in such a context
- no matter how hard he tries. :-)
-
- --
-
- Pete Gontier // CTO, Integer Poet Software // gurgle@dnai.com
-
- "Yeah, that's fucking bizarre. That's one I'd never heard before.
- Not even on the internet."
- -- Bob Mould, on rumors that he and Grant Hart were lovers
- when H¸sker D¸ broke up, _Spin_ magazine interview, 10/94
-
- ---------------------------
-
- End of C.S.M.P. Digest
- **********************
-
-
-